Skip to Content.
Sympa Menu

freetds - RE: [freetds] Numeric data types

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: "Thompson, Bill D (London)" <bill_d_thompson AT ml.com>
  • To: "'FreeTDS Development Group'" <freetds AT lists.ibiblio.org>
  • Subject: RE: [freetds] Numeric data types
  • Date: Wed, 10 Dec 2003 14:18:17 -0000

David,

I can kind of see where the problem lies, but can you tell me ...

a) what is the host variable you have bound the numeric column to ? is it a
CS_NUMERIC type ?
b) how have you set up the DATAFMT structure (third argument to ct_bind()
when you bind the numeric columns ?

Bill
> -----Original Message-----
> From: David Nsengiyumva [SMTP:davidn AT finsolutions.co.za]
> Sent: 10 December 2003 14:00
> To: freetds AT lists.ibiblio.org
> Subject: [freetds] Numeric data types
>
> Hi there,
>
> I am having problems with SQL queries that return numeric and date data
> types. First of all I am accessing a MS SQL Server 2000 from a Win2000
> machine and I am using FreeTDS-0.61.2.
> The Problem happens in the 'cs_convert' function. The 'if (src_type ==
> desttype)' succeed and the switch statement 'switch(desttype)' goes to
> the
> SYBBITN, SYBNUMERIC, SYBDECIMAL case and since 'src_len > destlen' then
> the
> function returns CS_FAIL. Basically src_len=35 and destlen=17.
> >From what I can think of is that when I receive data (fecthing data) I
> read
> 17 bytes (that's where destlen=17 comes from) but the allocated space is
> 35
> (from the struct tdsnumeric)
>
> typedef struct tdsnumeric
> {
> unsigned char precision;
> unsigned char scale;
> unsigned char array[33]; // why this ?????
> } TDS_NUMERIC;)
>
> My log file looks like this
>
>
> Starting log file for FreeTDS 0.60
> on 2003-12-10 15:58:45 with debug level 99.
> Using trivial iconv from
> S:\Engines\source\freetds\src\replacements\iconv_replacement.c
> names for ISO-8859-1: ISO-8859-1
> names for UTF-8: UTF-8
> names for UCS-2LE: UCS-2LE
> names for UCS-2BE: (null)
> iconv to convert client-side data to the "ISO-8859-1" character set
> 15:58:45 tds_iconv_info_init: converting "ISO-8859-1"->"UCS-2LE"
> 15:58:45 tds_iconv_info_init: converting "ISO-8859-1"->"UCS-2LE"
> 15:58:45 IP address pointer is NULL
> 15:58:46 Connecting to 10.0.3.73 port 1433, TDS 7.0.
> 15:58:46 tds_put_string converting 8 bytes of "finsol15"
> 15:58:46 tds_put_string wrote 16 bytes
> 15:58:46 tds_put_string converting 2 bytes of "sa"
> 15:58:46 tds_put_string wrote 4 bytes
> 15:58:46 tds_put_string wrote 0 bytes
> 15:58:46 tds_put_string converting 12 bytes of "FinSolSQLDev"
> 15:58:46 tds_put_string wrote 24 bytes
> 15:58:46 tds_put_string converting 10 bytes of "CT-Library"
> 15:58:46 tds_put_string wrote 20 bytes
> 15:58:46 tds_put_string converting 10 bytes of "us_english"
> 15:58:46 tds_put_string wrote 20 bytes
> 15:58:46 tds_put_string wrote 0 bytes
> Sending packet @ 15:58:46
> 0000 10 01 00 ca 00 00 01 00-c2 00 00 00 00 00 00 70 |........ .......p|
> 0010 00 00 00 00 06 83 f2 f8-38 06 00 00 00 00 00 00 |........ 8.......|
> 0020 e0 03 00 00 88 ff ff ff-36 04 00 00 56 00 08 00 |........ 6...V...|
> 0030 66 00 02 00 6a 00 0c 00-82 00 00 00 82 00 0c 00 |f...j... ........|
> 0040 00 00 00 00 9a 00 0a 00-ae 00 0a 00 c2 00 00 00 |........ ........|
> 0050 00 00 00 00 00 00 c2 00-00 00 c2 00 00 00 66 00 |........ ......f.|
> 0060 69 00 6e 00 73 00 6f 00-6c 00 31 00 35 00 73 00 |i.n.s.o. l.1.5.s.|
> 0070 61 00 c3 a5 33 a5 43 a5-92 a5 53 a5 63 a5 92 a5 |a...3.C. ..S.c...|
> 0080 b2 a5 63 a5 e3 a5 f3 a5-c2 a5 46 00 69 00 6e 00 |..c..... ..F.i.n.|
> 0090 53 00 6f 00 6c 00 53 00-51 00 4c 00 44 00 65 00 |S.o.l.S. Q.L.D.e.|
> 00a0 76 00 43 00 54 00 2d 00-4c 00 69 00 62 00 72 00 |v.C.T.-. L.i.b.r.|
> 00b0 61 00 72 00 79 00 75 00-73 00 5f 00 65 00 6e 00 |a.r.y.u. s._.e.n.|
> 00c0 67 00 6c 00 69 00 73 00-68 00 |g.l.i.s. h.|
>
>
> 15:58:46 tds_process_login_tokens()
> Received header @ 15:58:46
> 0000 04 01 01 b0 00 3c 01 00- |.....<..|
>
>
> Received packet @ 15:58:46
> 0000 e3 1b 00 01 06 6d 00 61-00 73 00 74 00 65 00 72 |.....m.a .s.t.e.r|
> 0010 00 06 6d 00 61 00 73 00-74 00 65 00 72 00 ab 6e |..m.a.s. t.e.r..n|
> 0020 00 45 16 00 00 02 00 25-00 43 00 68 00 61 00 6e |.E.....% .C.h.a.n|
> 0030 00 67 00 65 00 64 00 20-00 64 00 61 00 74 00 61 |.g.e.d. .d.a.t.a|
> 0040 00 62 00 61 00 73 00 65-00 20 00 63 00 6f 00 6e |.b.a.s.e . .c.o.n|
> 0050 00 74 00 65 00 78 00 74-00 20 00 74 00 6f 00 20 |.t.e.x.t . .t.o. |
> 0060 00 27 00 6d 00 61 00 73-00 74 00 65 00 72 00 27 |.'.m.a.s .t.e.r.'|
> 0070 00 2e 00 0c 46 00 49 00-4e 00 53 00 4f 00 4c 00 |....F.I. N.S.O.L.|
> 0080 53 00 51 00 4c 00 44 00-45 00 56 00 00 00 00 e3 |S.Q.L.D. E.V.....|
> 0090 17 00 02 0a 75 00 73 00-5f 00 65 00 6e 00 67 00 |....u.s. _.e.n.g.|
> 00a0 6c 00 69 00 73 00 68 00-00 ab 72 00 47 16 00 00 |l.i.s.h. ..r.G...|
> 00b0 01 00 27 00 43 00 68 00-61 00 6e 00 67 00 65 00 |..'.C.h. a.n.g.e.|
> 00c0 64 00 20 00 6c 00 61 00-6e 00 67 00 75 00 61 00 |d. .l.a. n.g.u.a.|
> 00d0 67 00 65 00 20 00 73 00-65 00 74 00 74 00 69 00 |g.e. .s. e.t.t.i.|
> 00e0 6e 00 67 00 20 00 74 00-6f 00 20 00 75 00 73 00 |n.g. .t. o. .u.s.|
> 00f0 5f 00 65 00 6e 00 67 00-6c 00 69 00 73 00 68 00 |_.e.n.g. l.i.s.h.|
> 0100 2e 00 0c 46 00 49 00 4e-00 53 00 4f 00 4c 00 53 |...F.I.N .S.O.L.S|
> 0110 00 51 00 4c 00 44 00 45-00 56 00 00 00 00 e3 0f |.Q.L.D.E .V......|
> 0120 00 03 05 69 00 73 00 6f-00 5f 00 31 00 01 00 00 |...i.s.o ._.1....|
> 0130 e3 0b 00 05 04 31 00 30-00 33 00 33 00 00 e3 0f |.....1.0 .3.3....|
> 0140 00 06 06 31 00 39 00 36-00 36 00 30 00 39 00 00 |...1.9.6 .6.0.9..|
> 0150 ad 36 00 01 07 00 00 00-16 4d 00 69 00 63 00 72 |.6...... .M.i.c.r|
> 0160 00 6f 00 73 00 6f 00 66-00 74 00 20 00 53 00 51 |.o.s.o.f .t. .S.Q|
> 0170 00 4c 00 20 00 53 00 65-00 72 00 76 00 65 00 72 |.L. .S.e .r.v.e.r|
> 0180 00 00 00 00 00 08 00 02-f8 e3 13 00 04 04 34 00 |........ ......4.|
> 0190 30 00 39 00 36 00 04 34-00 30 00 39 00 36 00 fd |0.9.6..4 .0.9.6..|
> 01a0 00 00 00 00 00 00 00 00- |........|
>
>
> 15:58:46 looking for login token, got e3(ENVCHANGE)
> 15:58:46 tds_process_default_tokens() marker is e3(ENVCHANGE)
> tds_get_string: reading 12 from wire to give 6 to client.
> tds_get_string: reading 12 from wire to give 6 to client.
> 15:58:46 looking for login token, got ab(INFO)
> 15:58:46 tds_process_default_tokens() marker is ab(INFO)
> tds_get_string: reading 74 from wire to give 37 to client.
> tds_get_string: reading 24 from wire to give 12 to client.
> 15:58:46 looking for login token, got e3(ENVCHANGE)
> 15:58:46 tds_process_default_tokens() marker is e3(ENVCHANGE)
> tds_get_string: reading 20 from wire to give 10 to client.
> 15:58:46 looking for login token, got ab(INFO)
> 15:58:46 tds_process_default_tokens() marker is ab(INFO)
> tds_get_string: reading 78 from wire to give 39 to client.
> tds_get_string: reading 24 from wire to give 12 to client.
> 15:58:46 looking for login token, got e3(ENVCHANGE)
> 15:58:46 tds_process_default_tokens() marker is e3(ENVCHANGE)
> tds_get_string: reading 10 from wire to give 5 to client.
> tds_get_string: reading 2 from wire to give 1 to client.
> 15:58:46 looking for login token, got e3(ENVCHANGE)
> 15:58:46 tds_process_default_tokens() marker is e3(ENVCHANGE)
> tds_get_string: reading 8 from wire to give 4 to client.
> 15:58:46 looking for login token, got e3(ENVCHANGE)
> 15:58:46 tds_process_default_tokens() marker is e3(ENVCHANGE)
> tds_get_string: reading 12 from wire to give 6 to client.
> 15:58:46 looking for login token, got ad(LOGINACK)
> tds_get_string: reading 44 from wire to give 22 to client.
> 15:58:46 looking for login token, got e3(ENVCHANGE)
> 15:58:46 tds_process_default_tokens() marker is e3(ENVCHANGE)
> tds_get_string: reading 8 from wire to give 4 to client.
> tds_get_string: reading 8 from wire to give 4 to client.
> 15:58:46 increasing block size from 4096 to 4096
> 15:58:46 looking for login token, got fd(DONE)
> 15:58:46 tds_process_default_tokens() marker is fd(DONE)
> 15:58:46 tds_process_end: more_results = 0
> 15:58:46 was_cancelled = 0
> 15:58:46 error = 0
> 15:58:46 done_count_valid = 0
> 15:58:46 tds_process_end() state set to TDS_IDLE
> 15:58:46 leaving tds_process_login_tokens() returning 1
> 15:58:46 leaving ct_connect() returning 1
> 15:58:46 ct_cmd_alloc()
> 15:58:47 ct_command()
> 15:58:47 ct_send()
> 15:58:47 tds_put_string converting 17 bytes of "use quant_base_v3"
> 15:58:47 tds_put_string wrote 34 bytes
> Sending packet @ 15:58:47
> 0000 01 01 00 2a 00 00 01 00-75 00 73 00 65 00 20 00 |...*.... u.s.e. .|
> 0010 71 00 75 00 61 00 6e 00-74 00 5f 00 62 00 61 00 |q.u.a.n. t._.b.a.|
> 0020 73 00 65 00 5f 00 76 00-33 00 |s.e._.v. 3.|
>
>
> 15:58:47 ct_send() succeeded
> 15:58:47 ct_results()
> Received header @ 15:58:47
> 0000 04 01 00 bc 00 3c 01 00- |.....<..|
>
>
> Received packet @ 15:58:47
> 0000 e3 29 00 01 0d 71 00 75-00 61 00 6e 00 74 00 5f |.)...q.u .a.n.t._|
> 0010 00 62 00 61 00 73 00 65-00 5f 00 76 00 33 00 06 |.b.a.s.e ._.v.3..|
> 0020 6d 00 61 00 73 00 74 00-65 00 72 00 ab 7c 00 45 |m.a.s.t. e.r..|.E|
> 0030 16 00 00 01 00 2c 00 43-00 68 00 61 00 6e 00 67 |.....,.C .h.a.n.g|
> 0040 00 65 00 64 00 20 00 64-00 61 00 74 00 61 00 62 |.e.d. .d .a.t.a.b|
> 0050 00 61 00 73 00 65 00 20-00 63 00 6f 00 6e 00 74 |.a.s.e. .c.o.n.t|
> 0060 00 65 00 78 00 74 00 20-00 74 00 6f 00 20 00 27 |.e.x.t. .t.o. .'|
> 0070 00 71 00 75 00 61 00 6e-00 74 00 5f 00 62 00 61 |.q.u.a.n .t._.b.a|
> 0080 00 73 00 65 00 5f 00 76-00 33 00 27 00 2e 00 0c |.s.e._.v .3.'....|
> 0090 46 00 49 00 4e 00 53 00-4f 00 4c 00 53 00 51 00 |F.I.N.S. O.L.S.Q.|
> 00a0 4c 00 44 00 45 00 56 00-00 01 00 fd 00 00 e2 00 |L.D.E.V. ........|
> 00b0 00 00 00 00 - |....|
>
>
> 15:58:47 processing result tokens. marker is e3(ENVCHANGE)
> 15:58:47 tds_process_default_tokens() marker is e3(ENVCHANGE)
> tds_get_string: reading 26 from wire to give 13 to client.
> tds_get_string: reading 12 from wire to give 6 to client.
> 15:58:47 processing result tokens. marker is ab(INFO)
> 15:58:47 tds_process_default_tokens() marker is ab(INFO)
> tds_get_string: reading 88 from wire to give 44 to client.
> tds_get_string: reading 24 from wire to give 12 to client.
> 15:58:47 processing result tokens. marker is fd(DONE)
> 15:58:47 tds_process_end: more_results = 0
> 15:58:47 was_cancelled = 0
> 15:58:47 error = 0
> 15:58:47 done_count_valid = 0
> 15:58:47 tds_process_end() state set to TDS_IDLE
> 15:58:47 ct_results() process_result_tokens returned 1 (type 4052)
> 15:58:47 ct_results() results state = 0
> 15:58:47 ct_results()
> 15:58:47 ct_results()
> 15:58:47 tds_process_result_tokens() state is COMPLETED
> 15:58:47 ct_results() process_result_tokens returned 2 (type 4052)
> 15:58:47 ct_command()
> 15:58:47 ct_send()
> 15:58:47 tds_put_string converting 45 bytes of "exec
> ap_sel_equity_meta_data
> @p_equity_id=10;"
> 15:58:47 tds_put_string wrote 90 bytes
> Sending packet @ 15:58:47
> 0000 01 01 00 62 00 00 01 00-65 00 78 00 65 00 63 00 |...b.... e.x.e.c.|
> 0010 20 00 61 00 70 00 5f 00-73 00 65 00 6c 00 5f 00 | .a.p._. s.e.l._.|
> 0020 65 00 71 00 75 00 69 00-74 00 79 00 5f 00 6d 00 |e.q.u.i. t.y._.m.|
> 0030 65 00 74 00 61 00 5f 00-64 00 61 00 74 00 61 00 |e.t.a._. d.a.t.a.|
> 0040 20 00 40 00 70 00 5f 00-65 00 71 00 75 00 69 00 | .@.p._. e.q.u.i.|
> 0050 74 00 79 00 5f 00 69 00-64 00 3d 00 31 00 30 00 |t.y._.i. d.=.1.0.|
> 0060 3b 00 - |;.|
>
>
> 15:58:47 ct_send() succeeded
> 15:58:47 ct_results()
> Received header @ 15:58:47
> 0000 04 01 01 f0 00 3c 01 00- |.....<..|
>
>
> Received packet @ 15:58:47
> 0000 81 03 00 00 00 10 00 6c-11 0a 00 0e 65 00 71 00 |.......l ....e.q.|
> 0010 75 00 69 00 74 00 79 00-5f 00 74 00 79 00 70 00 |u.i.t.y. _.t.y.p.|
> 0020 65 00 5f 00 69 00 64 00-00 00 08 00 6c 11 0a 00 |e._.i.d. ....l...|
> 0030 09 66 00 61 00 63 00 74-00 6f 00 72 00 5f 00 69 |.f.a.c.t .o.r._.i|
> 0040 00 64 00 00 00 08 00 6c-11 0a 00 0e 73 00 65 00 |.d.....l ....s.e.|
> 0050 72 00 69 00 65 00 73 00-5f 00 74 00 79 00 70 00 |r.i.e.s. _.t.y.p.|
> 0060 65 00 5f 00 69 00 64 00-d1 05 01 02 00 00 00 05 |e._.i.d. ........|
> 0070 01 02 00 00 00 05 01 02-00 00 00 d1 05 01 02 00 |........ ........|
> 0080 00 00 05 01 03 00 00 00-05 01 02 00 00 00 d1 05 |........ ........|
> 0090 01 02 00 00 00 05 01 04-00 00 00 05 01 02 00 00 |........ ........|
> 00a0 00 d1 05 01 02 00 00 00-05 01 05 00 00 00 05 01 |........ ........|
> 00b0 02 00 00 00 d1 05 01 02-00 00 00 05 01 06 00 00 |........ ........|
> 00c0 00 05 01 02 00 00 00 d1-05 01 02 00 00 00 05 01 |........ ........|
> 00d0 07 00 00 00 05 01 02 00-00 00 d1 05 01 02 00 00 |........ ........|
> 00e0 00 05 01 08 00 00 00 05-01 02 00 00 00 d1 05 01 |........ ........|
> 00f0 02 00 00 00 05 01 09 00-00 00 05 01 02 00 00 00 |........ ........|
> 0100 d1 05 01 02 00 00 00 05-01 0a 00 00 00 05 01 02 |........ ........|
> 0110 00 00 00 d1 05 01 02 00-00 00 05 01 0b 00 00 00 |........ ........|
> 0120 05 01 02 00 00 00 d1 05-01 02 00 00 00 05 01 11 |........ ........|
> 0130 00 00 00 05 01 03 00 00-00 d1 05 01 02 00 00 00 |........ ........|
> 0140 05 01 12 00 00 00 05 01-03 00 00 00 d1 05 01 02 |........ ........|
> 0150 00 00 00 05 01 13 00 00-00 05 01 03 00 00 00 d1 |........ ........|
> 0160 05 01 02 00 00 00 05 01-14 00 00 00 05 01 03 00 |........ ........|
> 0170 00 00 d1 05 01 02 00 00-00 05 01 17 00 00 00 05 |........ ........|
> 0180 01 03 00 00 00 d1 05 01-02 00 00 00 05 01 18 00 |........ ........|
> 0190 00 00 05 01 03 00 00 00-d1 05 01 02 00 00 00 05 |........ ........|
> 01a0 01 19 00 00 00 05 01 05-00 00 00 d1 05 01 02 00 |........ ........|
> 01b0 00 00 05 01 1a 00 00 00-05 01 04 00 00 00 d1 05 |........ ........|
> 01c0 01 02 00 00 00 05 01 1b-00 00 00 05 01 02 00 00 |........ ........|
> 01d0 00 ff 11 00 c1 00 13 00-00 00 79 00 00 00 00 fe |........ ..y.....|
> 01e0 00 00 e0 00 13 00 00 00- |........|
>
>
> 15:58:47 processing result tokens. marker is 81(TDS7_RESULT)
> tds_get_string: reading 28 from wire to give 14 to client.
> 15:58:47 tds7_get_data_info:1445:
> colname = equity_type_id (14 bytes)
> type = 108 (numeric)
> server's type = 108 (numeric)
> column_varint_size = 1
> column_size = 17 (17 on server)
> tds_get_string: reading 18 from wire to give 9 to client.
> 15:58:47 tds7_get_data_info:1445:
> colname = factor_id (9 bytes)
> type = 108 (numeric)
> server's type = 108 (numeric)
> column_varint_size = 1
> column_size = 17 (17 on server)
> tds_get_string: reading 28 from wire to give 14 to client.
> 15:58:47 tds7_get_data_info:1445:
> colname = series_type_id (14 bytes)
> type = 108 (numeric)
> server's type = 108 (numeric)
> column_varint_size = 1
> column_size = 17 (17 on server)
> 15:58:47 ct_results() process_result_tokens returned 1 (type 4049)
> 15:58:47 processing result tokens. marker is d1(ROW)
> 15:58:47 ct_results() process_result_tokens returned 1 (type 4040)
> 15:58:47 ct_res_info()
> 15:58:47 ct_res_info(): Number of columns is 3
> 15:58:47 ct_describe()
> 15:58:47 _ct_get_client_type(type 108, user 0, size 17)
> 15:58:47 ct_describe() datafmt->datatype = 7 server type 108
> 15:58:47 ct_bind() datafmt count = 1 column_number = 1
> 15:58:47 ct_describe()
> 15:58:47 _ct_get_client_type(type 108, user 0, size 17)
> 15:58:47 ct_describe() datafmt->datatype = 7 server type 108
> 15:58:47 ct_bind() datafmt count = 1 column_number = 2
> 15:58:47 ct_describe()
> 15:58:47 _ct_get_client_type(type 108, user 0, size 17)
> 15:58:47 ct_describe() datafmt->datatype = 7 server type 108
> 15:58:47 ct_bind() datafmt count = 1 column_number = 3
> 15:58:47 ct_fetch()
> 15:58:47 processing row tokens. marker is d1(ROW)
> 15:58:47 processing row. column is 0 varint size = 1
> 15:58:47 processing row. column size is 5
> 15:58:47 clearing column 0 NULL bit
> 15:58:47 swapping numeric data...
> 15:58:47 processing row. column is 1 varint size = 1
> 15:58:47 processing row. column size is 5
> 15:58:47 clearing column 1 NULL bit
> 15:58:47 swapping numeric data...
> 15:58:47 processing row. column is 2 varint size = 1
> 15:58:47 processing row. column size is 5
> 15:58:47 clearing column 2 NULL bit
> 15:58:47 swapping numeric data...
> 15:58:47 inside ct_fetch()process_row_tokens returned 1
> 15:58:47 _ct_bind_data()
> 15:58:47 _ct_bind_data(): column_type: 108 column_len: 35
> 15:58:47 _ct_get_server_type(7)
> 15:58:47 _ct_get_client_type(type 108, user 0, size 17)
> 15:58:49 cs_convert()
> 15:58:49 _ct_get_server_type(7)
> 15:58:49 _ct_get_server_type(7)
> 15:58:49 cs_convert() srctype = 108 (35) desttype = 108 (17)
> 15:58:49 cs_convert() srctype = desttype
> 15:58:49 cs_convert-result = 1
> 15:58:49
> convert failed for 7
> 15:58:49 _ct_bind_data(): column_type: 108 column_len: 35
> 15:58:49 _ct_get_server_type(7)
> 15:58:49 _ct_get_client_type(type 108, user 0, size 17)
> 15:58:50 cs_convert()
> 15:58:50 _ct_get_server_type(7)
> 15:58:50 _ct_get_server_type(7)
> 15:58:50 cs_convert() srctype = 108 (35) desttype = 108 (17)
> 15:58:50 cs_convert() srctype = desttype
> 15:58:50 cs_convert-result = 1
> 15:58:50
> convert failed for 7
> 15:58:50 _ct_bind_data(): column_type: 108 column_len: 35
> 15:58:50 _ct_get_server_type(7)
> 15:58:50 _ct_get_client_type(type 108, user 0, size 17)
> 15:58:52 cs_convert()
> 15:58:52 _ct_get_server_type(7)
> 15:58:52 _ct_get_server_type(7)
> 15:58:52 cs_convert() srctype = 108 (35) desttype = 108 (17)
> 15:58:52 cs_convert() srctype = desttype
> 15:58:52 cs_convert-result = 1
> 15:58:52
> convert failed for 7
> 15:58:54 ct_cancel()
> Sending packet @ 15:58:54
> 0000 06 01 00 08 00 00 01 00- |........|
>
>
> 15:58:54 tds_process_default_tokens() marker is d1(ROW)
> 15:58:54 processing row. column is 0 varint size = 1
> 15:58:54 processing row. column size is 5
> 15:58:54 clearing column 0 NULL bit
> 15:58:54 swapping numeric data...
> 15:58:54 processing row. column is 1 varint size = 1
> 15:58:54 processing row. column size is 5
> 15:58:54 clearing column 1 NULL bit
> 15:58:54 swapping numeric data...
> 15:58:54 processing row. column is 2 varint size = 1
> 15:58:54 processing row. column size is 5
> 15:58:54 clearing column 2 NULL bit
> 15:58:54 swapping numeric data...
> 15:58:54 tds_process_default_tokens() marker is d1(ROW)
> 15:58:54 processing row. column is 0 varint size = 1
> 15:58:54 processing row. column size is 5
> 15:58:54 clearing column 0 NULL bit
> 15:58:54 swapping numeric data...
> 15:58:54 processing row. column is 1 varint size = 1
> 15:58:54 processing row. column size is 5
> 15:58:54 clearing column 1 NULL bit
> 15:58:54 swapping numeric data...
> 15:58:54 processing row. column is 2 varint size = 1
> 15:58:54 processing row. column size is 5
> 15:58:54 clearing column 2 NULL bit
> 15:58:54 swapping numeric data...
> 15:58:54 tds_process_default_tokens() marker is d1(ROW)
> 15:58:54 processing row. column is 0 varint size = 1
> 15:58:54 processing row. column size is 5
> 15:58:54 clearing column 0 NULL bit
> 15:58:54 swapping numeric data...
> 15:58:54 processing row. column is 1 varint size = 1
> 15:58:54 processing row. column size is 5
> 15:58:54 clearing column 1 NULL bit
> 15:58:54 swapping numeric data...
> 15:58:54 processing row. column is 2 varint size = 1
> 15:58:54 processing row. column size is 5
> 15:58:54 clearing column 2 NULL bit
> 15:58:54 swapping numeric data...
> 15:58:54 tds_process_default_tokens() marker is d1(ROW)
> 15:58:54 processing row. column is 0 varint size = 1
> 15:58:54 processing row. column size is 5
> 15:58:54 clearing column 0 NULL bit
> 15:58:54 swapping numeric data...
> 15:58:54 processing row. column is 1 varint size = 1
> 15:58:54 processing row. column size is 5
> 15:58:54 clearing column 1 NULL bit
> 15:58:54 swapping numeric data...
> 15:58:54 processing row. column is 2 varint size = 1
> 15:58:54 processing row. column size is 5
> 15:58:54 clearing column 2 NULL bit
> 15:58:54 swapping numeric data...
> 15:58:54 tds_process_default_tokens() marker is d1(ROW)
> 15:58:54 processing row. column is 0 varint size = 1
> 15:58:54 processing row. column size is 5
> 15:58:54 clearing column 0 NULL bit
> 15:58:54 swapping numeric data...
> 15:58:54 processing row. column is 1 varint size = 1
> 15:58:54 processing row. column size is 5
> 15:58:54 clearing column 1 NULL bit
> 15:58:54 swapping numeric data...
> 15:58:54 processing row. column is 2 varint size = 1
> 15:58:54 processing row. column size is 5
> 15:58:54 clearing column 2 NULL bit
> 15:58:54 swapping numeric data...
> 15:58:54 tds_process_default_tokens() marker is d1(ROW)
> 15:58:54 processing row. column is 0 varint size = 1
> 15:58:54 processing row. column size is 5
> 15:58:54 clearing column 0 NULL bit
> 15:58:54 swapping numeric data...
> 15:58:54 processing row. column is 1 varint size = 1
> 15:58:54 processing row. column size is 5
> 15:58:54 clearing column 1 NULL bit
> 15:58:54 swapping numeric data...
> 15:58:54 processing row. column is 2 varint size = 1
> 15:58:54 processing row. column size is 5
> 15:58:54 clearing column 2 NULL bit
> 15:58:54 swapping numeric data...
> 15:58:54 tds_process_default_tokens() marker is d1(ROW)
> 15:58:54 processing row. column is 0 varint size = 1
> 15:58:54 processing row. column size is 5
> 15:58:54 clearing column 0 NULL bit
> 15:58:54 swapping numeric data...
> 15:58:54 processing row. column is 1 varint size = 1
> 15:58:54 processing row. column size is 5
> 15:58:54 clearing column 1 NULL bit
> 15:58:54 swapping numeric data...
> 15:58:54 processing row. column is 2 varint size = 1
> 15:58:54 processing row. column size is 5
> 15:58:54 clearing column 2 NULL bit
> 15:58:54 swapping numeric data...
> 15:58:54 tds_process_default_tokens() marker is d1(ROW)
> 15:58:54 processing row. column is 0 varint size = 1
> 15:58:54 processing row. column size is 5
> 15:58:54 clearing column 0 NULL bit
> 15:58:54 swapping numeric data...
> 15:58:54 processing row. column is 1 varint size = 1
> 15:58:54 processing row. column size is 5
> 15:58:54 clearing column 1 NULL bit
> 15:58:54 swapping numeric data...
> 15:58:54 processing row. column is 2 varint size = 1
> 15:58:54 processing row. column size is 5
> 15:58:54 clearing column 2 NULL bit
> 15:58:54 swapping numeric data...
> 15:58:54 tds_process_default_tokens() marker is d1(ROW)
> 15:58:54 processing row. column is 0 varint size = 1
> 15:58:54 processing row. column size is 5
> 15:58:54 clearing column 0 NULL bit
> 15:58:54 swapping numeric data...
> 15:58:54 processing row. column is 1 varint size = 1
> 15:58:54 processing row. column size is 5
> 15:58:54 clearing column 1 NULL bit
> 15:58:54 swapping numeric data...
> 15:58:54 processing row. column is 2 varint size = 1
> 15:58:54 processing row. column size is 5
> 15:58:54 clearing column 2 NULL bit
> 15:58:54 swapping numeric data...
> 15:58:54 tds_process_default_tokens() marker is d1(ROW)
> 15:58:54 processing row. column is 0 varint size = 1
> 15:58:54 processing row. column size is 5
> 15:58:54 clearing column 0 NULL bit
> 15:58:54 swapping numeric data...
> 15:58:54 processing row. column is 1 varint size = 1
> 15:58:54 processing row. column size is 5
> 15:58:54 clearing column 1 NULL bit
> 15:58:54 swapping numeric data...
> 15:58:54 processing row. column is 2 varint size = 1
> 15:58:54 processing row. column size is 5
> 15:58:54 clearing column 2 NULL bit
> 15:58:54 swapping numeric data...
> 15:58:54 tds_process_default_tokens() marker is d1(ROW)
> 15:58:54 processing row. column is 0 varint size = 1
> 15:58:54 processing row. column size is 5
> 15:58:54 clearing column 0 NULL bit
> 15:58:54 swapping numeric data...
> 15:58:54 processing row. column is 1 varint size = 1
> 15:58:54 processing row. column size is 5
> 15:58:54 clearing column 1 NULL bit
> 15:58:54 swapping numeric data...
> 15:58:54 processing row. column is 2 varint size = 1
> 15:58:54 processing row. column size is 5
> 15:58:54 clearing column 2 NULL bit
> 15:58:54 swapping numeric data...
> 15:58:54 tds_process_default_tokens() marker is d1(ROW)
> 15:58:54 processing row. column is 0 varint size = 1
> 15:58:54 processing row. column size is 5
> 15:58:54 clearing column 0 NULL bit
> 15:58:54 swapping numeric data...
> 15:58:54 processing row. column is 1 varint size = 1
> 15:58:54 processing row. column size is 5
> 15:58:54 clearing column 1 NULL bit
> 15:58:54 swapping numeric data...
> 15:58:54 processing row. column is 2 varint size = 1
> 15:58:54 processing row. column size is 5
> 15:58:54 clearing column 2 NULL bit
> 15:58:54 swapping numeric data...
> 15:58:54 tds_process_default_tokens() marker is d1(ROW)
> 15:58:54 processing row. column is 0 varint size = 1
> 15:58:54 processing row. column size is 5
> 15:58:54 clearing column 0 NULL bit
> 15:58:54 swapping numeric data...
> 15:58:54 processing row. column is 1 varint size = 1
> 15:58:54 processing row. column size is 5
> 15:58:54 clearing column 1 NULL bit
> 15:58:54 swapping numeric data...
> 15:58:54 processing row. column is 2 varint size = 1
> 15:58:54 processing row. column size is 5
> 15:58:54 clearing column 2 NULL bit
> 15:58:54 swapping numeric data...
> 15:58:54 tds_process_default_tokens() marker is d1(ROW)
> 15:58:54 processing row. column is 0 varint size = 1
> 15:58:54 processing row. column size is 5
> 15:58:54 clearing column 0 NULL bit
> 15:58:54 swapping numeric data...
> 15:58:54 processing row. column is 1 varint size = 1
> 15:58:54 processing row. column size is 5
> 15:58:54 clearing column 1 NULL bit
> 15:58:54 swapping numeric data...
> 15:58:54 processing row. column is 2 varint size = 1
> 15:58:54 processing row. column size is 5
> 15:58:54 clearing column 2 NULL bit
> 15:58:54 swapping numeric data...
> 15:58:54 tds_process_default_tokens() marker is d1(ROW)
> 15:58:54 processing row. column is 0 varint size = 1
> 15:58:54 processing row. column size is 5
> 15:58:54 clearing column 0 NULL bit
> 15:58:54 swapping numeric data...
> 15:58:54 processing row. column is 1 varint size = 1
> 15:58:54 processing row. column size is 5
> 15:58:54 clearing column 1 NULL bit
> 15:58:54 swapping numeric data...
> 15:58:54 processing row. column is 2 varint size = 1
> 15:58:54 processing row. column size is 5
> 15:58:54 clearing column 2 NULL bit
> 15:58:54 swapping numeric data...
> 15:58:54 tds_process_default_tokens() marker is d1(ROW)
> 15:58:54 processing row. column is 0 varint size = 1
> 15:58:54 processing row. column size is 5
> 15:58:54 clearing column 0 NULL bit
> 15:58:54 swapping numeric data...
> 15:58:54 processing row. column is 1 varint size = 1
> 15:58:54 processing row. column size is 5
> 15:58:54 clearing column 1 NULL bit
> 15:58:54 swapping numeric data...
> 15:58:54 processing row. column is 2 varint size = 1
> 15:58:54 processing row. column size is 5
> 15:58:54 clearing column 2 NULL bit
> 15:58:54 swapping numeric data...
> 15:58:54 tds_process_default_tokens() marker is d1(ROW)
> 15:58:54 processing row. column is 0 varint size = 1
> 15:58:54 processing row. column size is 5
> 15:58:54 clearing column 0 NULL bit
> 15:58:54 swapping numeric data...
> 15:58:54 processing row. column is 1 varint size = 1
> 15:58:54 processing row. column size is 5
> 15:58:54 clearing column 1 NULL bit
> 15:58:54 swapping numeric data...
> 15:58:54 processing row. column is 2 varint size = 1
> 15:58:54 processing row. column size is 5
> 15:58:54 clearing column 2 NULL bit
> 15:58:54 swapping numeric data...
> 15:58:54 tds_process_default_tokens() marker is d1(ROW)
> 15:58:54 processing row. column is 0 varint size = 1
> 15:58:54 processing row. column size is 5
> 15:58:54 clearing column 0 NULL bit
> 15:58:54 swapping numeric data...
> 15:58:54 processing row. column is 1 varint size = 1
> 15:58:54 processing row. column size is 5
> 15:58:54 clearing column 1 NULL bit
> 15:58:54 swapping numeric data...
> 15:58:54 processing row. column is 2 varint size = 1
> 15:58:54 processing row. column size is 5
> 15:58:54 clearing column 2 NULL bit
> 15:58:54 swapping numeric data...
> 15:58:54 tds_process_default_tokens() marker is ff(DONEINPROC)
> 15:58:54 tds_process_end: more_results = 1
> 15:58:54 was_cancelled = 0
> 15:58:54 error = 0
> 15:58:54 done_count_valid = 1
> 15:58:54 rows_affected = 19
> 15:58:54 tds_process_default_tokens() marker is 79(RETURNSTATUS)
> 15:58:54 tds_process_default_tokens: return status is 0
> 15:58:54 tds_process_default_tokens() marker is fe(DONEPROC)
> 15:58:54 tds_process_end: more_results = 0
> 15:58:54 was_cancelled = 0
> 15:58:54 error = 0
> 15:58:54 done_count_valid = 0
> 15:58:54 tds_process_end() state set to TDS_IDLE
> Received header @ 15:58:54
> 0000 04 01 00 11 00 3c 01 00- |.....<..|
>
>
> Received packet @ 15:58:54
> 0000 fd 20 00 fd 00 00 00 00-00 |. ...... .|
>
>
> 15:58:54 tds_process_end: more_results = 0
> 15:58:54 was_cancelled = 1
> 15:58:54 error = 0
> 15:58:54 done_count_valid = 0
> 15:58:54 tds_process_end() state set to TDS_IDLE
> 15:58:54 ct_cmd_drop()
> 15:58:54 ct_close()
> 15:58:54 ct_con_drop()
> 15:58:54 ct_exit()
>
>
> Thanx a lot for your help
>
> David Nsengiyumva
>
> Software Developer
> Tel: +27 21 464 7215
> Cel: +27 73 351 3975
> Fax: +27 21 464 7201
> http://www.finsolutions.co.za
>
> CONFIDENTIALITY CAUTION
> This page and any accompanying documents contain privileged and
> confidential
> information for the specific individual to whom it is addressed, and are
> protected by law. If the reader is not the intended recipient, you are
> hereby notified that any review, dissemination, distribution or copying or
> the taking of any action based on the contents of this communication is
> strictly prohibited. If you have received this communication in error,
> please desist from reading the contents, notify us immediately and destroy
> the communication.
>
>
>
> _______________________________________________
> FreeTDS mailing list
> FreeTDS AT lists.ibiblio.org
> http://lists.ibiblio.org/mailman/listinfo/freetds





Archive powered by MHonArc 2.6.24.

Top of Page