bcp problems
Panos Stavroulis <[email protected]>
| Newsgroups | gmane.comp.db.tds.freetds |
|---|---|
| Message-ID | <[email protected]> |
Hi, I have a bcp problem with around a date field. This is probably a question for Bill but thought he should get a rest! See the below. I have a date 1 Feb 2011 followed by a field called reference with the value 00000000000000000549. I've put a debug statement to be able to see the data. So my date field looks ok 1 Feb 2011, however, after this field is processed, it fails. Column No 11 doesn't get processed as you can see. Does anyone have any clues what might be wrong? Bcp works normally OK but occasioanaly get problems with date fields like now. I think, you can ignore the error "bcp_init must be called before any other bcp routines". I believe I know how to fix this. The problem is bcp doesn't go after column 11. I am using stable freetds-0.82. I've noticed few changes in the current CVS branch for bcp but not how much it will help and if stable enough. Thanks very much. Panos output: util.c:162:Changed query state from IDLE to QUERYING write.c:136:tds_put_string converting 364 bytes of "insert bulk #trans_bcp (proc_number int, journal_no int, journal_pos int, ledger_code_wil char(4), source char(4), ccy char(3), account_code char(16), cat_1 char(12), cat_2 char(12), transaction_date datetime, reference char(20), narrative varchar(60), db_ccy_value float, db_base_value float, rate float, calc_method char(1), period char(6), proc_action char(1)) " write.c:136:tds_put_string converting 236 bytes of "account_code char(16), cat_1 char(12), cat_2 char(12), transaction_date datetime, reference char(20), narrative varchar(60), db_ccy_value float, db_base_value float, rate float, calc_method char(1), period char(6), proc_action char(1)) " write.c:136:tds_put_string converting 108 bytes of "ccy_value float, db_base_value float, rate float, calc_method char(1), period char(6), proc_action char(1)) " write.c:164:tds_put_string wrote 728 bytes util.c:162:Changed query state from QUERYING to PENDING net.c:779:Sending packet 0000 01 01 02 e0 00 00 01 00-69 00 6e 00 73 00 65 00 |........ i.n.s.e.| 0010 72 00 74 00 20 00 62 00-75 00 6c 00 6b 00 20 00 |r.t. .b. u.l.k. .| 0020 23 00 74 00 72 00 61 00-6e 00 73 00 5f 00 62 00 |#.t.r.a. n.s._.b.| 0030 63 00 70 00 20 00 28 00-70 00 72 00 6f 00 63 00 |c.p. .(. p.r.o.c.| 0040 5f 00 6e 00 75 00 6d 00-62 00 65 00 72 00 20 00 |_.n.u.m. b.e.r. .| 0050 69 00 6e 00 74 00 2c 00-20 00 6a 00 6f 00 75 00 |i.n.t.,. .j.o.u.| 0060 72 00 6e 00 61 00 6c 00-5f 00 6e 00 6f 00 20 00 |r.n.a.l. _.n.o. .| 0070 69 00 6e 00 74 00 2c 00-20 00 6a 00 6f 00 75 00 |i.n.t.,. .j.o.u.| 0080 72 00 6e 00 61 00 6c 00-5f 00 70 00 6f 00 73 00 |r.n.a.l. _.p.o.s.| 0090 20 00 69 00 6e 00 74 00-2c 00 20 00 6c 00 65 00 | .i.n.t. ,. .l.e.| 00a0 64 00 67 00 65 00 72 00-5f 00 63 00 6f 00 64 00 |d.g.e.r. _.c.o.d.| 00b0 65 00 5f 00 77 00 69 00-6c 00 20 00 63 00 68 00 |e._.w.i. l. .c.h.| 00c0 61 00 72 00 28 00 34 00-29 00 2c 00 20 00 73 00 |a.r.(.4. ).,. .s.| 00d0 6f 00 75 00 72 00 63 00-65 00 20 00 63 00 68 00 |o.u.r.c. e. .c.h.| 00e0 61 00 72 00 28 00 34 00-29 00 2c 00 20 00 63 00 |a.r.(.4. ).,. .c.| 00f0 63 00 79 00 20 00 63 00-68 00 61 00 72 00 28 00 |c.y. .c. h.a.r.(.| 0100 33 00 29 00 2c 00 20 00-61 00 63 00 63 00 6f 00 |3.).,. . a.c.c.o.| 0110 75 00 6e 00 74 00 5f 00-63 00 6f 00 64 00 65 00 |u.n.t._. c.o.d.e.| 0120 20 00 63 00 68 00 61 00-72 00 28 00 31 00 36 00 | .c.h.a. r.(.1.6.| 0130 29 00 2c 00 20 00 63 00-61 00 74 00 5f 00 31 00 |).,. .c. a.t._.1.| 0140 20 00 63 00 68 00 61 00-72 00 28 00 31 00 32 00 | .c.h.a. r.(.1.2.| 0150 29 00 2c 00 20 00 63 00-61 00 74 00 5f 00 32 00 |).,. .c. a.t._.2.| 0160 20 00 63 00 68 00 61 00-72 00 28 00 31 00 32 00 | .c.h.a. r.(.1.2.| 0170 29 00 2c 00 20 00 74 00-72 00 61 00 6e 00 73 00 |).,. .t. r.a.n.s.| 0180 61 00 63 00 74 00 69 00-6f 00 6e 00 5f 00 64 00 |a.c.t.i. o.n._.d.| 0190 61 00 74 00 65 00 20 00-64 00 61 00 74 00 65 00 |a.t.e. . d.a.t.e.| 01a0 74 00 69 00 6d 00 65 00-2c 00 20 00 72 00 65 00 |t.i.m.e. ,. .r.e.| 01b0 66 00 65 00 72 00 65 00-6e 00 63 00 65 00 20 00 |f.e.r.e. n.c.e. .| 01c0 63 00 68 00 61 00 72 00-28 00 32 00 30 00 29 00 |c.h.a.r. (.2.0.).| 01d0 2c 00 20 00 6e 00 61 00-72 00 72 00 61 00 74 00 |,. .n.a. r.r.a.t.| 01e0 69 00 76 00 65 00 20 00-76 00 61 00 72 00 63 00 |i.v.e. . v.a.r.c.| 01f0 68 00 61 00 72 00 28 00-36 00 30 00 29 00 2c 00 |h.a.r.(. 6.0.).,.| 0200 20 00 64 00 62 00 5f 00-63 00 63 00 79 00 5f 00 | .d.b._. c.c.y._.| 0210 76 00 61 00 6c 00 75 00-65 00 20 00 66 00 6c 00 |v.a.l.u. e. .f.l.| 0220 6f 00 61 00 74 00 2c 00-20 00 64 00 62 00 5f 00 |o.a.t.,. .d.b._.| 0230 62 00 61 00 73 00 65 00-5f 00 76 00 61 00 6c 00 |b.a.s.e. _.v.a.l.| 0240 75 00 65 00 20 00 66 00-6c 00 6f 00 61 00 74 00 |u.e. .f. l.o.a.t.| 0250 2c 00 20 00 72 00 61 00-74 00 65 00 20 00 66 00 |,. .r.a. t.e. .f.| 0260 6c 00 6f 00 61 00 74 00-2c 00 20 00 63 00 61 00 |l.o.a.t. ,. .c.a.| 0270 6c 00 63 00 5f 00 6d 00-65 00 74 00 68 00 6f 00 |l.c._.m. e.t.h.o.| 0280 64 00 20 00 63 00 68 00-61 00 72 00 28 00 31 00 |d. .c.h. a.r.(.1.| 0290 29 00 2c 00 20 00 70 00-65 00 72 00 69 00 6f 00 |).,. .p. e.r.i.o.| 02a0 64 00 20 00 63 00 68 00-61 00 72 00 28 00 36 00 |d. .c.h. a.r.(.6.| 02b0 29 00 2c 00 20 00 70 00-72 00 6f 00 63 00 5f 00 |).,. .p. r.o.c._.| 02c0 61 00 63 00 74 00 69 00-6f 00 6e 00 20 00 63 00 |a.c.t.i. o.n. .c.| 02d0 68 00 61 00 72 00 28 00-31 00 29 00 29 00 20 00 |h.a.r.(. 1.).). .| token.c:495:tds_process_tokens(45c80, ffbfb40c, ffbfb408, 0x100) util.c:162:Changed query state from PENDING to READING net.c:592:Received header 0000 04 01 00 11 00 57 01 00- |.....W..| net.c:671:Received packet 0000 fd 00 00 fd 00 00 00 00-00 |........ .| token.c:510:processing result tokens. marker is fd(DONE) token.c:2201:tds_process_end: more_results = 0 was_cancelled = 0 error = 0 done_count_valid = 0 token.c:2217:tds_process_end() state set to TDS_IDLE util.c:162:Changed query state from READING to IDLE token.c:2232: rows_affected = 0 util.c:110:logic error: cannot change query state from IDLE to PENDING token.c:495:tds_process_tokens(45c80, ffbfb40c, ffbfb408, 0x100) token.c:498:tds_process_tokens() state is COMPLETED bcp.c:2282:current_record_size = 192 bcp.c:2283:bcp_record_size = 205 mem.c:563:tds_free_all_results() util.c:162:Changed query state from IDLE to QUERYING bcp.c:2527:_bcp_send_colmetadata(46eb0) write.c:136:tds_put_string converting 11 bytes of "proc_number" write.c:164:tds_put_string wrote 22 bytes write.c:136:tds_put_string converting 10 bytes of "journal_no" write.c:164:tds_put_string wrote 20 bytes write.c:136:tds_put_string converting 11 bytes of "journal_pos" write.c:164:tds_put_string wrote 22 bytes write.c:136:tds_put_string converting 15 bytes of "ledger_code_wil" write.c:164:tds_put_string wrote 30 bytes write.c:136:tds_put_string converting 6 bytes of "source" write.c:164:tds_put_string wrote 12 bytes write.c:136:tds_put_string converting 3 bytes of "ccy" write.c:164:tds_put_string wrote 6 bytes write.c:136:tds_put_string converting 12 bytes of "account_code" write.c:164:tds_put_string wrote 24 bytes write.c:136:tds_put_string converting 5 bytes of "cat_1" write.c:164:tds_put_string wrote 10 bytes write.c:136:tds_put_string converting 5 bytes of "cat_2" write.c:164:tds_put_string wrote 10 bytes write.c:136:tds_put_string converting 16 bytes of "transaction_date" write.c:164:tds_put_string wrote 32 bytes write.c:136:tds_put_string converting 9 bytes of "reference" write.c:164:tds_put_string wrote 18 bytes write.c:136:tds_put_string converting 9 bytes of "narrative" write.c:164:tds_put_string wrote 18 bytes write.c:136:tds_put_string converting 12 bytes of "db_ccy_value" write.c:164:tds_put_string wrote 24 bytes write.c:136:tds_put_string converting 13 bytes of "db_base_value" write.c:164:tds_put_string wrote 26 bytes write.c:136:tds_put_string converting 4 bytes of "rate" write.c:164:tds_put_string wrote 8 bytes write.c:136:tds_put_string converting 11 bytes of "calc_method" write.c:164:tds_put_string wrote 22 bytes write.c:136:tds_put_string converting 6 bytes of "period" write.c:164:tds_put_string wrote 12 bytes write.c:136:tds_put_string converting 11 bytes of "proc_action" write.c:164:tds_put_string wrote 22 bytes bcp.c:3187:_bcp_send_bcp_record(46eb0, 1) bcp.c:3401:_bcp_get_col_data(46eb0, 165158) dblib.c:2144:dbconvert(46eb0, SYBINT4, fd2a5ca8, 4, SYBINT4, 16a358, 4) dblib.c:2177:dbconvert() srctype == desttype bcp.c:3217:parsed column 1, length 4 (not null) bcp.c:3283:new_record_size = 0 datalen = 4 bcp.c:3307:old_record_size = 205 new size = 4 bcp.c:3401:_bcp_get_col_data(46eb0, 1655d0) dblib.c:2144:dbconvert(46eb0, SYBINT4, fd2a5cac, 4, SYBINT4, 16a238, 4) dblib.c:2177:dbconvert() srctype == desttype bcp.c:3217:parsed column 2, length 4 (not null) bcp.c:3283:new_record_size = 4 datalen = 4 bcp.c:3307:old_record_size = 205 new size = 8 bcp.c:3401:_bcp_get_col_data(46eb0, 165a48) dblib.c:2144:dbconvert(46eb0, SYBINT4, fd2a5cb0, 4, SYBINT4, 16a368, 4) dblib.c:2177:dbconvert() srctype == desttype bcp.c:3217:parsed column 3, length 4 (not null) bcp.c:3283:new_record_size = 8 datalen = 4 bcp.c:3307:old_record_size = 205 new size = 12 bcp.c:3401:_bcp_get_col_data(46eb0, 165ec0) bcp.c:3515:bufpos = 0 , value =>T<bcp.c:3515:bufpos = 1 , value =>D<bcp.c:3515:bufpos = 2 , value =>1<dblib.c:2144:dbconvert(46eb0, SYBCHAR, fd2a5cb4, -1, SYBCHAR, 16a248, 4) dblib.c:2177:dbconvert() srctype == desttype bcp.c:3217:parsed column 4, length 3 (not null) bcp.c:3283:new_record_size = 14 datalen = 3 bcp.c:3307:old_record_size = 205 new size = 17 bcp.c:3401:_bcp_get_col_data(46eb0, 166338) bcp.c:3515:bufpos = 0 , value =>T<bcp.c:3515:bufpos = 1 , value =>D<bcp.c:3515:bufpos = 2 , value =>A<bcp.c:3515:bufpos = 3 , value =>C<dblib.c:2144:dbconvert(46eb0, SYBCHAR, fd2a5cb9, -1, SYBCHAR, 16a378, 4) dblib.c:2177:dbconvert() srctype == desttype bcp.c:3217:parsed column 5, length 4 (not null) bcp.c:3283:new_record_size = 19 datalen = 4 bcp.c:3307:old_record_size = 205 new size = 23 bcp.c:3401:_bcp_get_col_data(46eb0, 1667b0) bcp.c:3515:bufpos = 0 , value =>G<bcp.c:3515:bufpos = 1 , value =>B<bcp.c:3515:bufpos = 2 , value =>P<dblib.c:2144:dbconvert(46eb0, SYBCHAR, fd2a5cbe, -1, SYBCHAR, 16a258, 3) dblib.c:2177:dbconvert() srctype == desttype bcp.c:3217:parsed column 6, length 3 (not null) bcp.c:3283:new_record_size = 25 datalen = 3 bcp.c:3307:old_record_size = 205 new size = 28 bcp.c:3401:_bcp_get_col_data(46eb0, 166c28) bcp.c:3515:bufpos = 0 , value =>1<bcp.c:3515:bufpos = 1 , value =>4<bcp.c:3515:bufpos = 2 , value =>0<bcp.c:3515:bufpos = 3 , value =>0<bcp.c:3515:bufpos = 4 , value =>1<bcp.c:3515:bufpos = 5 , value =>1<dblib.c:2144:dbconvert(46eb0, SYBCHAR, fd2a5cc2, -1, SYBCHAR, 4a6d0, 16) dblib.c:2177:dbconvert() srctype == desttype bcp.c:3217:parsed column 7, length 6 (not null) bcp.c:3283:new_record_size = 30 datalen = 6 bcp.c:3307:old_record_size = 205 new size = 36 bcp.c:3401:_bcp_get_col_data(46eb0, 1670a0) bcp.c:3515:bufpos = 0 , value =>B<bcp.c:3515:bufpos = 1 , value =>O<bcp.c:3515:bufpos = 2 , value =>O<bcp.c:3515:bufpos = 3 , value =>K<bcp.c:3515:bufpos = 4 , value =>1<dblib.c:2144:dbconvert(46eb0, SYBCHAR, fd2a5cd3, -1, SYBCHAR, 4a6b8, 12) dblib.c:2177:dbconvert() srctype == desttype bcp.c:3217:parsed column 8, length 5 (not null) bcp.c:3283:new_record_size = 38 datalen = 5 bcp.c:3307:old_record_size = 205 new size = 43 bcp.c:3401:_bcp_get_col_data(46eb0, 167518) bcp.c:3515:bufpos = 0 , value =>B<bcp.c:3515:bufpos = 1 , value =>A<bcp.c:3515:bufpos = 2 , value =>A<bcp.c:3515:bufpos = 3 , value =>S<bcp.c:3515:bufpos = 4 , value =>H<bcp.c:3515:bufpos = 5 , value =>R<bcp.c:3515:bufpos = 6 , value =>S<bcp.c:3515:bufpos = 7 , value =>R<bcp.c:3515:bufpos = 8 , value =>T<bcp.c:3515:bufpos = 9 , value =>S<bcp.c:3515:bufpos = 10 , value =>T<dblib.c:2144:dbconvert(46eb0, SYBCHAR, fd2a5ce0, -1, SYBCHAR, 4a370, 12) dblib.c:2177:dbconvert() srctype == desttype bcp.c:3217:parsed column 9, length 11 (not null) bcp.c:3283:new_record_size = 45 datalen = 11 bcp.c:3307:old_record_size = 205 new size = 56 bcp.c:3401:_bcp_get_col_data(46eb0, 167990) bcp.c:3515:bufpos = 0 , value =>0<bcp.c:3515:bufpos = 1 , value =>1<bcp.c:3515:bufpos = 2 , value => <bcp.c:3515:bufpos = 3 , value =>F<bcp.c:3515:bufpos = 4 , value =>e<bcp.c:3515:bufpos = 5 , value =>b<bcp.c:3515:bufpos = 6 , value => <bcp.c:3515:bufpos = 7 , value =>2<bcp.c:3515:bufpos = 8 , value =>0<bcp.c:3515:bufpos = 9 , value =>1<bcp.c:3515:bufpos = 10 , value =>1<dblib.c:2144:dbconvert(46eb0, SYBTEXT, fd2a5ced, -1, SYBDATETIME, 16a228, 8) dblib.c:2286:dbconvert() calling tds_convert convert.c:1780:string_to_datetime: current_state = 0 convert.c:1801:string_to_datetime: is_numeric convert.c:1780:string_to_datetime: current_state = 1 convert.c:2500:store_monthname: 3 Feb convert.c:1780:string_to_datetime: current_state = 2 dblib.c:2289:dbconvert() called tds_convert returned 8 bcp.c:3217:parsed column 10, length 8 (not null) bcp.c:3283:new_record_size = 56 datalen = 8 bcp.c:3307:old_record_size = 205 new size = 64 bcp.c:3401:_bcp_get_col_data(46eb0, 167e08) dblib.c:2144:dbconvert(46eb0, SYBCHAR, fd2a5d05, -1, SYBCHAR, 325b0, 20) dblib.c:2177:dbconvert() srctype == desttype bcp.c:3213:_bcp_get_col_data (column 11) failed bcp.c:3023:bcp_done(46eb0) net.c:779:Sending packet 0000 07 01 02 16 00 00 01 00-81 12 00 00 00 08 00 38 |........ .......8| 0010 0b 70 00 72 00 6f 00 63-00 5f 00 6e 00 75 00 6d |.p.r.o.c ._.n.u.m| 0020 00 62 00 65 00 72 00 00-00 08 00 38 0a 6a 00 6f |.b.e.r.. ...8.j.o| 0030 00 75 00 72 00 6e 00 61-00 6c 00 5f 00 6e 00 6f |.u.r.n.a .l._.n.o| 0040 00 00 00 08 00 38 0b 6a-00 6f 00 75 00 72 00 6e |.....8.j .o.u.r.n| 0050 00 61 00 6c 00 5f 00 70-00 6f 00 73 00 00 00 0a |.a.l._.p .o.s....| 0060 00 af 04 00 09 04 c0 00-00 0f 6c 00 65 00 64 00 |........ ..l.e.d.| 0070 67 00 65 00 72 00 5f 00-63 00 6f 00 64 00 65 00 |g.e.r._. c.o.d.e.| 0080 5f 00 77 00 69 00 6c 00-00 00 0a 00 af 04 00 09 |_.w.i.l. ........| 0090 04 c0 00 00 06 73 00 6f-00 75 00 72 00 63 00 65 |.....s.o .u.r.c.e| 00a0 00 00 00 0a 00 af 03 00-09 04 c0 00 00 03 63 00 |........ ......c.| 00b0 63 00 79 00 00 00 0a 00-af 10 00 09 04 c0 00 00 |c.y..... ........| 00c0 0c 61 00 63 00 63 00 6f-00 75 00 6e 00 74 00 5f |.a.c.c.o .u.n.t._| 00d0 00 63 00 6f 00 64 00 65-00 00 00 0b 00 af 0c 00 |.c.o.d.e ........| 00e0 09 04 c0 00 00 05 63 00-61 00 74 00 5f 00 31 00 |......c. a.t._.1.| 00f0 00 00 0b 00 af 0c 00 09-04 c0 00 00 05 63 00 61 |........ .....c.a| 0100 00 74 00 5f 00 32 00 00-00 08 00 3d 10 74 00 72 |.t._.2.. ...=.t.r| 0110 00 61 00 6e 00 73 00 61-00 63 00 74 00 69 00 6f |.a.n.s.a .c.t.i.o| 0120 00 6e 00 5f 00 64 00 61-00 74 00 65 00 00 00 0a |.n._.d.a .t.e....| 0130 00 af 14 00 09 04 c0 00-00 09 72 00 65 00 66 00 |........ ..r.e.f.| 0140 65 00 72 00 65 00 6e 00-63 00 65 00 00 00 0a 00 |e.r.e.n. c.e.....| 0150 a7 3c 00 09 04 c0 00 00-09 6e 00 61 00 72 00 72 |.<...... .n.a.r.r| 0160 00 61 00 74 00 69 00 76-00 65 00 00 00 08 00 3e |.a.t.i.v .e.....>| 0170 0c 64 00 62 00 5f 00 63-00 63 00 79 00 5f 00 76 |.d.b._.c .c.y._.v| 0180 00 61 00 6c 00 75 00 65-00 00 00 08 00 3e 0d 64 |.a.l.u.e .....>.d| 0190 00 62 00 5f 00 62 00 61-00 73 00 65 00 5f 00 76 |.b._.b.a .s.e._.v| 01a0 00 61 00 6c 00 75 00 65-00 00 00 08 00 3e 04 72 |.a.l.u.e .....>.r| 01b0 00 61 00 74 00 65 00 00-00 0a 00 af 01 00 09 04 |.a.t.e.. ........| 01c0 c0 00 00 0b 63 00 61 00-6c 00 63 00 5f 00 6d 00 |....c.a. l.c._.m.| 01d0 65 00 74 00 68 00 6f 00-64 00 00 00 0a 00 af 06 |e.t.h.o. d.......| 01e0 00 09 04 c0 00 00 06 70-00 65 00 72 00 69 00 6f |.......p .e.r.i.o| 01f0 00 64 00 00 00 0a 00 af-01 00 09 04 c0 00 00 0b |.d...... ........| 0200 70 00 72 00 6f 00 63 00-5f 00 61 00 63 00 74 00 |p.r.o.c. _.a.c.t.| 0210 69 00 6f 00 6e 00 - |i.o.n.| util.c:162:Changed query state from QUERYING to PENDING token.c:495:tds_process_tokens(45c80, ffbfc424, ffbfc420, 0x100) util.c:162:Changed query state from PENDING to READING net.c:592:Received header 0000 04 01 00 11 00 57 01 00- |.....W..| net.c:671:Received packet 0000 fd 10 00 f0 00 00 00 00-00 |........ .| token.c:510:processing result tokens. marker is fd(DONE) token.c:2201:tds_process_end: more_results = 0 was_cancelled = 0 error = 0 done_count_valid = 1 token.c:2217:tds_process_end() state set to TDS_IDLE util.c:162:Changed query state from READING to IDLE token.c:2232: rows_affected = 0 util.c:110:logic error: cannot change query state from IDLE to PENDING token.c:495:tds_process_tokens(45c80, ffbfc424, ffbfc420, 0x100) token.c:498:tds_process_tokens() state is COMPLETED bcp.c:3583:_bcp_free_storage(46eb0) dblib.c:3096:dbcancel(46eb0) query.c:1934:tds_send_cancel: not in_cancel and idle dblib.c:3878:dbgetmaxprocs(void) dblib.c:3878:dbgetmaxprocs(void) dblib.c:4750:dbdead(46eb0) [alive] dblib.c:5611:dbsetuserdata(46eb0, 48610) bcp.c:3023:bcp_done(46eb0) dblib.c:7785:dbperror(46eb0, 20076, 0) dblib.c:7838:20076: "bcp_init must be called before any other bcp routines" 00000059 2011/06/15 07:07:13.565 TEMP 16139 SERI DATABASE ERROR:: bcp_init must be called before any other bcp routines 00000060 2011/06/15 07:07:13.565 TEMP 16139 SERI DATABASE ERROR:: Error 0 dblib.c:7859:"bcp_init must be called before any other bcp routines", client returns 2 (INT_CANCEL) dblib.c:3878:dbgetmaxprocs(void)