Re: Status of UTF-8 support in 0.83 dev

Sebastien FLAESCH <[email protected]>
Newsgroups gmane.comp.db.tds.freetds
Organization Four J's Development Tools
Message-ID <[email protected]>
Sorry forget previous post, had a configuration mistake...

Log shows now:

log.c:190:Starting log file for FreeTDS 0.83.dev.20080812
         on 2008-08-12 18:11:48 with debug flags 0x4fff.
iconv.c:197:names for ISO-8859-1: ISO-8859-1
iconv.c:197:names for UTF-8: UTF-8
iconv.c:197:names for UCS-2LE: UCS-2LE
iconv.c:197:names for UCS-2BE: UCS-2BE
iconv.c:363:iconv to convert client-side data to the "UTF-8" character set
iconv.c:516:tds_iconv_info_init: converting "UTF-8"->"UCS-2LE"
iconv.c:516:tds_iconv_info_init: converting "ISO-8859-1"->"UCS-2LE"


But still, I get:


Error -1 at: SQLExecute 1.2 StmtH
Diagnostic info:
   SQL State: 42000
   SQL code : 8005
   Message  : [FreeTDS][SQL Server]The incoming tabular data stream (TDS) remote procedure call (RPC) protocol stream is incorrect. Parameter 4: The 
parameter name is invalid.


Log attached...

Seb


Sebastien FLAESCH wrote:
> A TDSDUMP shows me the following:
> 
> log.c:190:Starting log file for FreeTDS 0.82RC4
>          on 2008-08-12 17:42:11 with debug flags 0x4fff.
> iconv.c:197:names for ISO-8859-1: ISO-8859-1
> iconv.c:197:names for UTF-8: UTF-8
> iconv.c:197:names for UCS-2LE: UCS-2LE
> iconv.c:197:names for UCS-2BE: UCS-2BE
> iconv.c:363:iconv to convert client-side data to the "ISO-8859-1" character set
> iconv.c:516:tds_iconv_info_init: converting "ISO-8859-1"->"UCS-2LE"
> iconv.c:516:tds_iconv_info_init: converting "ISO-8859-1"->"UCS-2LE"
> 
> ...
> 
> iconv.c:985:setting server single-byte charset to "CP932"
> iconv.c:516:tds_iconv_info_init: converting "ISO-8859-1"->"CP932"
> 
> 
> Does this mean that UTF-8 is not selected as client charset???
> 
> I have the following in my odbc.ini:
> 
> 
> [freetds_msvtest2_cobra]
> Driver          = /opt3/dbs/tds/0.83/lib/libtdsodbc.so
> Description     = msvtest2 database on cobra (multibyte)
> Trace           = No
> #Servername     = server2_utf8
> Server          = cobra
> Database        = msvtest2
> ClientCharset   = UTF8
> Port            = 1680
> TDS_Version     = 8.0
> 
> 
> 
> $ iconv -l | grep UTF8
> 
> ISO-10646/UTF8/
> UTF8//
> 
> 
> 
> Seb
> 
> Sebastien FLAESCH wrote:
>> With this other example (using SQL_CHAR / SQL_VARCHAR), I get this error:
>>
>> Error -1 at: SQLExecute 1.1 StmtH
>> Diagnostic info:
>>   SQL State: 42000
>>   SQL code : 8005
>>   Message  : [FreeTDS][SQL Server]The incoming tabular data stream (TDS) 
>> remote procedure call (RPC) protocol stream is incorrect. Parameter 4: 
>> The parameter name is invalid.
>>
>>
>> I think in a UTF-8 context it makes sense to bind with SQL_CHAR/SQL_VARCHAR
>> for the ParameterType argument (#5) of SQLBindParameter, and passing a 
>> number
>> of bytes in the ColumnSize (#6) and StrLen_or_IndPtr (#10) arguments...
>>
>> ?
>>
>> Seb
>>
>>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> FreeTDS mailing list
>> [email protected]
>> http://lists.ibiblio.org/mailman/listinfo/freetds
> 
> _______________________________________________
> FreeTDS mailing list
> [email protected]
> http://lists.ibiblio.org/mailman/listinfo/freetds
>

_______________________________________________
FreeTDS mailing list
[email protected]
http://lists.ibiblio.org/mailman/listinfo/freetds
tds.log (text/x-log, 28.7 KB)
log.c:190:Starting log file for FreeTDS 0.83.dev.20080812
	on 2008-08-12 18:13:55 with debug flags 0x4fff.
iconv.c:197:names for ISO-8859-1: ISO-8859-1
iconv.c:197:names for UTF-8: UTF-8
iconv.c:197:names for UCS-2LE: UCS-2LE
iconv.c:197:names for UCS-2BE: UCS-2BE
iconv.c:363:iconv to convert client-side data to the "UTF-8" character set
iconv.c:516:tds_iconv_info_init: converting "UTF-8"->"UCS-2LE"
iconv.c:516:tds_iconv_info_init: converting "ISO-8859-1"->"UCS-2LE"
net.c:204:Connecting to 10.0.0.115 port 1680 (TDS version 8.0)
net.c:258:tds_open_socket: connect(2) returned "Operation now in progress"
net.c:296:tds_open_socket() succeeded
util.c:162:Changed query state from DEAD to IDLE
login.c:734:quietly sending TDS 7+ login packet
token.c:312:tds_process_login_tokens()
net.c:662:Received packet
0000 04 01 01 89 00 33 01 00-e3 1f 00 01 08 6d 00 73 |.....3.. .....m.s|
0010 00 76 00 74 00 65 00 73-00 74 00 32 00 06 6d 00 |.v.t.e.s .t.2..m.|
0020 61 00 73 00 74 00 65 00-72 00 ab 6e 00 45 16 00 |a.s.t.e. r..n.E..|
0030 00 02 00 27 00 43 00 68-00 61 00 6e 00 67 00 65 |...'.C.h .a.n.g.e|
0040 00 64 00 20 00 64 00 61-00 74 00 61 00 62 00 61 |.d. .d.a .t.a.b.a|
0050 00 73 00 65 00 20 00 63-00 6f 00 6e 00 74 00 65 |.s.e. .c .o.n.t.e|
0060 00 78 00 74 00 20 00 74-00 6f 00 20 00 27 00 6d |.x.t. .t .o. .'.m|
0070 00 73 00 76 00 74 00 65-00 73 00 74 00 32 00 27 |.s.v.t.e .s.t.2.'|
0080 00 2e 00 0a 43 00 4f 00-42 00 52 00 41 00 5c 00 |....C.O. B.R.A.\.|
0090 4d 00 53 00 56 00 31 00-00 01 00 e3 08 00 07 05 |M.S.V.1. ........|
00a0 11 04 00 11 00 00 e3 17-00 02 0a 75 00 73 00 5f |........ ...u.s._|
00b0 00 65 00 6e 00 67 00 6c-00 69 00 73 00 68 00 00 |.e.n.g.l .i.s.h..|
00c0 ab 6e 00 47 16 00 00 01-00 27 00 43 00 68 00 61 |.n.G.... .'.C.h.a|
00d0 00 6e 00 67 00 65 00 64-00 20 00 6c 00 61 00 6e |.n.g.e.d . .l.a.n|
00e0 00 67 00 75 00 61 00 67-00 65 00 20 00 73 00 65 |.g.u.a.g .e. .s.e|
00f0 00 74 00 74 00 69 00 6e-00 67 00 20 00 74 00 6f |.t.t.i.n .g. .t.o|
0100 00 20 00 75 00 73 00 5f-00 65 00 6e 00 67 00 6c |. .u.s._ .e.n.g.l|
0110 00 69 00 73 00 68 00 2e-00 0a 43 00 4f 00 42 00 |.i.s.h.. ..C.O.B.|
0120 52 00 41 00 5c 00 4d 00-53 00 56 00 31 00 00 01 |R.A.\.M. S.V.1...|
0130 00 ad 36 00 01 71 00 00-01 16 4d 00 69 00 63 00 |..6..q.. ..M.i.c.|
0140 72 00 6f 00 73 00 6f 00-66 00 74 00 20 00 53 00 |r.o.s.o. f.t. .S.|
0150 51 00 4c 00 20 00 53 00-65 00 72 00 76 00 65 00 |Q.L. .S. e.r.v.e.|
0160 72 00 00 00 00 00 09 00-05 77 e3 13 00 04 04 34 |r....... .w.....4|
0170 00 30 00 39 00 36 00 04-34 00 30 00 39 00 36 00 |.0.9.6.. 4.0.9.6.|
0180 fd 00 00 00 00 00 00 00-00                      |........ .|

token.c:316:looking for login token, got  e3(ENVCHANGE)
token.c:108:tds_process_default_tokens() marker is e3(ENVCHANGE)
token.c:316:looking for login token, got  ab(INFO)
token.c:108:tds_process_default_tokens() marker is ab(INFO)
token.c:2523:tds_process_msg() reading message from server
token.c:2596:tds_process_msg() calling client msg handler
odbc.c:2106:msgno 5701 20003
token.c:2609:tds_process_msg() returning TDS_SUCCEED
token.c:316:looking for login token, got  e3(ENVCHANGE)
token.c:108:tds_process_default_tokens() marker is e3(ENVCHANGE)
token.c:2354:tds_process_env_chg(): 5 bytes of collation data received
token.c:2355:tds->collation was
0000 00 00 00 00 00         -                        |.....|

iconv.c:985:setting server single-byte charset to "CP932"
iconv.c:516:tds_iconv_info_init: converting "UTF-8"->"CP932"
token.c:2365:tds->collation now
0000 11 04 00 11 00         -                        |.....|

token.c:316:looking for login token, got  e3(ENVCHANGE)
token.c:108:tds_process_default_tokens() marker is e3(ENVCHANGE)
token.c:316:looking for login token, got  ab(INFO)
token.c:108:tds_process_default_tokens() marker is ab(INFO)
token.c:2523:tds_process_msg() reading message from server
token.c:2596:tds_process_msg() calling client msg handler
odbc.c:2106:msgno 5703 20003
token.c:2609:tds_process_msg() returning TDS_SUCCEED
token.c:316:looking for login token, got  ad(LOGINACK)
token.c:316:looking for login token, got  e3(ENVCHANGE)
token.c:108:tds_process_default_tokens() marker is e3(ENVCHANGE)
token.c:2412:changing block size from 4096 to 4096
token.c:316:looking for login token, got  fd(DONE)
token.c:108:tds_process_default_tokens() marker is fd(DONE)
token.c:2274:tds_process_end: more_results = 0
		was_cancelled = 0
		error = 0
		done_count_valid = 0
token.c:2290:tds_process_end() state set to TDS_IDLE
token.c:2305:                rows_affected = 0
token.c:393:leaving tds_process_login_tokens() returning 1
odbc.c:6123:SQLSetConnectAttr(0x98cb208, 102, 0x1, -5)
odbc.c:6038:_SQLSetConnectAttr(0x98cb208, 102, 0x1, -5)
odbc.c:235:change_autocommit: executing SET IMPLICIT_TRANSACTIONS OFF
mem.c:563:tds_free_all_results()
util.c:162:Changed query state from IDLE to QUERYING
write.c:136:tds_put_string converting 29 bytes of "SET IMPLICIT_TRANSACTIONS OFF"
write.c:164:tds_put_string wrote 58 bytes
util.c:162:Changed query state from QUERYING to PENDING
net.c:768:Sending packet
0000 01 01 00 42 00 00 01 00-53 00 45 00 54 00 20 00 |...B.... S.E.T. .|
0010 49 00 4d 00 50 00 4c 00-49 00 43 00 49 00 54 00 |I.M.P.L. I.C.I.T.|
0020 5f 00 54 00 52 00 41 00-4e 00 53 00 41 00 43 00 |_.T.R.A. N.S.A.C.|
0030 54 00 49 00 4f 00 4e 00-53 00 20 00 4f 00 46 00 |T.I.O.N. S. .O.F.|
0040 46 00                  -                        |F.|

token.c:495:tds_process_tokens(0x98cc3d8, 0xbfe06304, 0xbfe06308, 0x100)
util.c:162:Changed query state from PENDING to READING
net.c:662:Received packet
0000 04 01 00 11 00 33 01 00-fd 00 00 ba 00 00 00 00 |.....3.. ........|
0010 00                     -                        |.|

token.c:510:processing result tokens.  marker is  fd(DONE)
token.c:2274:tds_process_end: more_results = 0
		was_cancelled = 0
		error = 0
		done_count_valid = 0
token.c:2290:tds_process_end() state set to TDS_IDLE
util.c:162:Changed query state from READING to IDLE
token.c:2305:                rows_affected = 0
util.c:110:logic error: cannot change query state from IDLE to PENDING
token.c:495:tds_process_tokens(0x98cc3d8, 0xbfe06304, 0xbfe06308, 0x100)
token.c:498:tds_process_tokens() state is COMPLETED
odbc.c:1314:SQLAllocHandle(3, 0x98cb208, 0xbfe06448)
odbc.c:1473:_SQLAllocStmt(0x98cb208, 0xbfe06448)
odbc.c:3286:SQLExecDirect(0x98fe938, 0x8049344, -3)
prepare_query.c:202:parsing 0 parameters
odbc.c:3043:_SQLExecute(0x98fe938)
odbc.c:3048:_SQLExecute() starting with state 0
mem.c:563:tds_free_all_results()
util.c:162:Changed query state from IDLE to QUERYING
write.c:136:tds_put_string converting 22 bytes of "drop table mytab王鴻"
write.c:164:tds_put_string wrote 36 bytes
util.c:162:Changed query state from QUERYING to PENDING
net.c:768:Sending packet
0000 01 01 00 2c 00 00 01 00-64 00 72 00 6f 00 70 00 |...,.... d.r.o.p.|
0010 20 00 74 00 61 00 62 00-6c 00 65 00 20 00 6d 00 | .t.a.b. l.e. .m.|
0020 79 00 74 00 61 00 62 00-8b 73 3b 9d             |y.t.a.b. .s;.|

token.c:495:tds_process_tokens(0x98cc3d8, 0xbfe06340, 0xbfe06344, 0x6914)
util.c:162:Changed query state from PENDING to READING
net.c:662:Received packet
0000 04 01 00 11 00 33 01 00-fd 00 00 c7 00 00 00 00 |.....3.. ........|
0010 00                     -                        |.|

token.c:510:processing result tokens.  marker is  fd(DONE)
token.c:2274:tds_process_end: more_results = 0
		was_cancelled = 0
		error = 0
		done_count_valid = 0
token.c:2290:tds_process_end() state set to TDS_IDLE
util.c:162:Changed query state from READING to IDLE
token.c:2305:                rows_affected = 0
util.c:110:logic error: cannot change query state from IDLE to PENDING
odbc.c:3356:odbc_process_tokens: tds_process_tokens returned 1
odbc.c:3357:    result_type=4052, TDS_DONE_COUNT=0, TDS_DONE_ERROR=0
odbc.c:3400:odbc_process_tokens: processed TDS_DONE_RESULT
token.c:495:tds_process_tokens(0x98cc3d8, 0xbfe06340, 0xbfe06344, 0x26914)
token.c:498:tds_process_tokens() state is COMPLETED
odbc.c:3356:odbc_process_tokens: tds_process_tokens returned 2
odbc.c:3357:    result_type=4052, TDS_DONE_COUNT=0, TDS_DONE_ERROR=0
odbc.c:3197:_SQLExecute: odbc_process_tokens returned result_type 4046
odbc.c:3286:SQLExecDirect(0x98fe938, 0x804935c, -3)
prepare_query.c:202:parsing 0 parameters
odbc.c:3043:_SQLExecute(0x98fe938)
odbc.c:3048:_SQLExecute() starting with state 0
mem.c:563:tds_free_all_results()
util.c:162:Changed query state from IDLE to QUERYING
write.c:136:tds_put_string converting 62 bytes of "create table mytab王鴻 (k int, c nchar(10), vc nvarchar(10))"
write.c:164:tds_put_string wrote 116 bytes
util.c:162:Changed query state from QUERYING to PENDING
net.c:768:Sending packet
0000 01 01 00 7c 00 00 01 00-63 00 72 00 65 00 61 00 |...|.... c.r.e.a.|
0010 74 00 65 00 20 00 74 00-61 00 62 00 6c 00 65 00 |t.e. .t. a.b.l.e.|
0020 20 00 6d 00 79 00 74 00-61 00 62 00 8b 73 3b 9d | .m.y.t. a.b..s;.|
0030 20 00 28 00 6b 00 20 00-69 00 6e 00 74 00 2c 00 | .(.k. . i.n.t.,.|
0040 20 00 63 00 20 00 6e 00-63 00 68 00 61 00 72 00 | .c. .n. c.h.a.r.|
0050 28 00 31 00 30 00 29 00-2c 00 20 00 76 00 63 00 |(.1.0.). ,. .v.c.|
0060 20 00 6e 00 76 00 61 00-72 00 63 00 68 00 61 00 | .n.v.a. r.c.h.a.|
0070 72 00 28 00 31 00 30 00-29 00 29 00             |r.(.1.0. ).).|

token.c:495:tds_process_tokens(0x98cc3d8, 0xbfe06340, 0xbfe06344, 0x6914)
util.c:162:Changed query state from PENDING to READING
net.c:662:Received packet
0000 04 01 00 11 00 33 01 00-fd 00 00 c6 00 00 00 00 |.....3.. ........|
0010 00                     -                        |.|

token.c:510:processing result tokens.  marker is  fd(DONE)
token.c:2274:tds_process_end: more_results = 0
		was_cancelled = 0
		error = 0
		done_count_valid = 0
token.c:2290:tds_process_end() state set to TDS_IDLE
util.c:162:Changed query state from READING to IDLE
token.c:2305:                rows_affected = 0
util.c:110:logic error: cannot change query state from IDLE to PENDING
odbc.c:3356:odbc_process_tokens: tds_process_tokens returned 1
odbc.c:3357:    result_type=4052, TDS_DONE_COUNT=0, TDS_DONE_ERROR=0
odbc.c:3400:odbc_process_tokens: processed TDS_DONE_RESULT
token.c:495:tds_process_tokens(0x98cc3d8, 0xbfe06340, 0xbfe06344, 0x26914)
token.c:498:tds_process_tokens() state is COMPLETED
odbc.c:3356:odbc_process_tokens: tds_process_tokens returned 2
odbc.c:3357:    result_type=4052, TDS_DONE_COUNT=0, TDS_DONE_ERROR=0
odbc.c:3197:_SQLExecute: odbc_process_tokens returned result_type 4046
odbc.c:3286:SQLExecDirect(0x98fe938, 0x80493b0, -3)
prepare_query.c:202:parsing 0 parameters
odbc.c:3043:_SQLExecute(0x98fe938)
odbc.c:3048:_SQLExecute() starting with state 0
mem.c:563:tds_free_all_results()
util.c:162:Changed query state from IDLE to QUERYING
write.c:136:tds_put_string converting 46 bytes of "insert into mytab王鴻 values (1,'aaa','aaa')"
write.c:164:tds_put_string wrote 84 bytes
util.c:162:Changed query state from QUERYING to PENDING
net.c:768:Sending packet
0000 01 01 00 5c 00 00 01 00-69 00 6e 00 73 00 65 00 |...\.... i.n.s.e.|
0010 72 00 74 00 20 00 69 00-6e 00 74 00 6f 00 20 00 |r.t. .i. n.t.o. .|
0020 6d 00 79 00 74 00 61 00-62 00 8b 73 3b 9d 20 00 |m.y.t.a. b..s;. .|
0030 76 00 61 00 6c 00 75 00-65 00 73 00 20 00 28 00 |v.a.l.u. e.s. .(.|
0040 31 00 2c 00 27 00 61 00-61 00 61 00 27 00 2c 00 |1.,.'.a. a.a.'.,.|
0050 27 00 61 00 61 00 61 00-27 00 29 00             |'.a.a.a. '.).|

token.c:495:tds_process_tokens(0x98cc3d8, 0xbfe06340, 0xbfe06344, 0x6914)
util.c:162:Changed query state from PENDING to READING
net.c:662:Received packet
0000 04 01 00 11 00 33 01 00-fd 10 00 c3 00 01 00 00 |.....3.. ........|
0010 00                     -                        |.|

token.c:510:processing result tokens.  marker is  fd(DONE)
token.c:2274:tds_process_end: more_results = 0
		was_cancelled = 0
		error = 0
		done_count_valid = 1
token.c:2290:tds_process_end() state set to TDS_IDLE
util.c:162:Changed query state from READING to IDLE
token.c:2305:                rows_affected = 1
util.c:110:logic error: cannot change query state from IDLE to PENDING
odbc.c:3356:odbc_process_tokens: tds_process_tokens returned 1
odbc.c:3357:    result_type=4052, TDS_DONE_COUNT=10, TDS_DONE_ERROR=0
odbc.c:3397:odbc_process_tokens: row_count=1
odbc.c:3197:_SQLExecute: odbc_process_tokens returned result_type 4052
odbc.c:3286:SQLExecDirect(0x98fe938, 0x80493f4, -3)
prepare_query.c:202:parsing 0 parameters
odbc.c:3043:_SQLExecute(0x98fe938)
odbc.c:3048:_SQLExecute() starting with state 0
mem.c:563:tds_free_all_results()
util.c:162:Changed query state from IDLE to QUERYING
write.c:136:tds_put_string converting 58 bytes of "insert into mytab王鴻 values (2,'abcéáô','abcéîô')"
write.c:164:tds_put_string wrote 96 bytes
util.c:162:Changed query state from QUERYING to PENDING
net.c:768:Sending packet
0000 01 01 00 68 00 00 01 00-69 00 6e 00 73 00 65 00 |...h.... i.n.s.e.|
0010 72 00 74 00 20 00 69 00-6e 00 74 00 6f 00 20 00 |r.t. .i. n.t.o. .|
0020 6d 00 79 00 74 00 61 00-62 00 8b 73 3b 9d 20 00 |m.y.t.a. b..s;. .|
0030 76 00 61 00 6c 00 75 00-65 00 73 00 20 00 28 00 |v.a.l.u. e.s. .(.|
0040 32 00 2c 00 27 00 61 00-62 00 63 00 e9 00 e1 00 |2.,.'.a. b.c.....|
0050 f4 00 27 00 2c 00 27 00-61 00 62 00 63 00 e9 00 |..'.,.'. a.b.c...|
0060 ee 00 f4 00 27 00 29 00-                        |....'.).|

token.c:495:tds_process_tokens(0x98cc3d8, 0xbfe06340, 0xbfe06344, 0x6914)
util.c:162:Changed query state from PENDING to READING
net.c:662:Received packet
0000 04 01 00 11 00 33 01 00-fd 10 00 c3 00 01 00 00 |.....3.. ........|
0010 00                     -                        |.|

token.c:510:processing result tokens.  marker is  fd(DONE)
token.c:2274:tds_process_end: more_results = 0
		was_cancelled = 0
		error = 0
		done_count_valid = 1
token.c:2290:tds_process_end() state set to TDS_IDLE
util.c:162:Changed query state from READING to IDLE
token.c:2305:                rows_affected = 1
util.c:110:logic error: cannot change query state from IDLE to PENDING
odbc.c:3356:odbc_process_tokens: tds_process_tokens returned 1
odbc.c:3357:    result_type=4052, TDS_DONE_COUNT=10, TDS_DONE_ERROR=0
odbc.c:3397:odbc_process_tokens: row_count=1
odbc.c:3197:_SQLExecute: odbc_process_tokens returned result_type 4052
odbc.c:3286:SQLExecDirect(0x98fe938, 0x8049444, -3)
prepare_query.c:202:parsing 0 parameters
odbc.c:3043:_SQLExecute(0x98fe938)
odbc.c:3048:_SQLExecute() starting with state 0
mem.c:563:tds_free_all_results()
util.c:162:Changed query state from IDLE to QUERYING
write.c:136:tds_put_string converting 70 bytes of "insert into mytab王鴻 values (3,'abc王鴻','abc王鴻傑王鴻傑')"
write.c:164:tds_put_string wrote 100 bytes
util.c:162:Changed query state from QUERYING to PENDING
net.c:768:Sending packet
0000 01 01 00 6c 00 00 01 00-69 00 6e 00 73 00 65 00 |...l.... i.n.s.e.|
0010 72 00 74 00 20 00 69 00-6e 00 74 00 6f 00 20 00 |r.t. .i. n.t.o. .|
0020 6d 00 79 00 74 00 61 00-62 00 8b 73 3b 9d 20 00 |m.y.t.a. b..s;. .|
0030 76 00 61 00 6c 00 75 00-65 00 73 00 20 00 28 00 |v.a.l.u. e.s. .(.|
0040 33 00 2c 00 27 00 61 00-62 00 63 00 8b 73 3b 9d |3.,.'.a. b.c..s;.|
0050 27 00 2c 00 27 00 61 00-62 00 63 00 8b 73 3b 9d |'.,.'.a. b.c..s;.|
0060 91 50 8b 73 3b 9d 91 50-27 00 29 00             |.P.s;..P '.).|

token.c:495:tds_process_tokens(0x98cc3d8, 0xbfe06340, 0xbfe06344, 0x6914)
util.c:162:Changed query state from PENDING to READING
net.c:662:Received packet
0000 04 01 00 11 00 33 01 00-fd 10 00 c3 00 01 00 00 |.....3.. ........|
0010 00                     -                        |.|

token.c:510:processing result tokens.  marker is  fd(DONE)
token.c:2274:tds_process_end: more_results = 0
		was_cancelled = 0
		error = 0
		done_count_valid = 1
token.c:2290:tds_process_end() state set to TDS_IDLE
util.c:162:Changed query state from READING to IDLE
token.c:2305:                rows_affected = 1
util.c:110:logic error: cannot change query state from IDLE to PENDING
odbc.c:3356:odbc_process_tokens: tds_process_tokens returned 1
odbc.c:3357:    result_type=4052, TDS_DONE_COUNT=10, TDS_DONE_ERROR=0
odbc.c:3397:odbc_process_tokens: row_count=1
odbc.c:3197:_SQLExecute: odbc_process_tokens returned result_type 4052
odbc.c:4239:SQLPrepare(0x98fe938, insert into mytab王鴻 values (?,?,?), -3)
prepare_query.c:202:parsing 0 parameters
prepare_query.c:207:parse_prepared_query: logic_error: parameter out of bounds: 1 > 0 || 1 > 0
odbc.c:4303:Creating prepared statement
mem.c:563:tds_free_all_results()
util.c:162:Changed query state from IDLE to QUERYING
write.c:136:tds_put_string converting 3 bytes of "@P1"
write.c:164:tds_put_string wrote 6 bytes
write.c:136:tds_put_string converting 3 bytes of "@P2"
write.c:164:tds_put_string wrote 6 bytes
write.c:136:tds_put_string converting 3 bytes of "@P3"
write.c:164:tds_put_string wrote 6 bytes
util.c:162:Changed query state from QUERYING to PENDING
net.c:768:Sending packet
0000 03 01 00 ea 00 00 01 00-ff ff 0b 00 00 00 00 01 |........ ........|
0010 26 04 00 00 00 63 5e 00-00 00 11 04 00 11 00 5e |&....c^. .......^|
0020 00 00 00 40 00 50 00 31-00 20 00 76 00 61 00 72 |[email protected] . .v.a.r|
0030 00 63 00 68 00 61 00 72-00 28 00 38 00 30 00 29 |.c.h.a.r .(.8.0.)|
0040 00 2c 00 40 00 50 00 32-00 20 00 76 00 61 00 72 |.,[email protected] . .v.a.r|
0050 00 63 00 68 00 61 00 72-00 28 00 38 00 30 00 29 |.c.h.a.r .(.8.0.)|
0060 00 2c 00 40 00 50 00 33-00 20 00 76 00 61 00 72 |.,[email protected] . .v.a.r|
0070 00 63 00 68 00 61 00 72-00 28 00 38 00 30 00 29 |.c.h.a.r .(.8.0.)|
0080 00 00 00 63 50 00 00 00-11 04 00 11 00 50 00 00 |...cP... .....P..|
0090 00 69 00 6e 00 73 00 65-00 72 00 74 00 20 00 69 |.i.n.s.e .r.t. .i|
00a0 00 6e 00 74 00 6f 00 20-00 6d 00 79 00 74 00 61 |.n.t.o.  .m.y.t.a|
00b0 00 62 00 8b 73 3b 9d 20-00 76 00 61 00 6c 00 75 |.b..s;.  .v.a.l.u|
00c0 00 65 00 73 00 20 00 28-00 40 00 50 00 31 00 2c |.e.s. .( [email protected].,|
00d0 00 40 00 50 00 32 00 2c-00 40 00 50 00 33 00 29 |[email protected]., [email protected].)|
00e0 00 00 00 26 04 04 01 00-00 00                   |...&.... ..|

token.c:495:tds_process_tokens(0x98cc3d8, 0xbfe063f4, 0xbfe063f8, 0x104)
util.c:162:Changed query state from PENDING to READING
net.c:662:Received packet
0000 04 01 00 2f 00 33 01 00-ff 11 00 c3 00 00 00 00 |.../.3.. ........|
0010 00 79 00 00 00 00 ac 0d-00 00 01 00 00 00 00 26 |.y...... .......&|
0020 04 04 01 00 00 00 fe 00-00 e0 00 00 00 00 00    |........ .......|

token.c:510:processing result tokens.  marker is  ff(DONEINPROC)
token.c:2274:tds_process_end: more_results = 1
		was_cancelled = 0
		error = 0
		done_count_valid = 1
token.c:2305:                rows_affected = 0
token.c:510:processing result tokens.  marker is  79(RETURNSTATUS)
token.c:510:processing result tokens.  marker is  ac(PARAM)
token.c:567:processing parameters for sp 11
token.c:569:calling tds_process_param_result
token.c:1198:tds_process_param_result(0x98cc3d8, 0xbfe0638c)
token.c:1582:tds_get_data_info(0x98cc3d8, 0x98fea88, 1) [for parameter]token.c:1645:processing result. type = 38(integer-null), varint_size 1
token.c:1666:processing result. column_size 4
token.c:1984:tds_get_data: type 38, varint size 1
token.c:2048:tds_get_data(): wire column size is 4 
log.c:481:type integer-null has value 1
token.c:573:1 hidden return parameters
token.c:510:processing result tokens.  marker is  fe(DONEPROC)
token.c:2274:tds_process_end: more_results = 0
		was_cancelled = 0
		error = 0
		done_count_valid = 0
token.c:2290:tds_process_end() state set to TDS_IDLE
util.c:162:Changed query state from READING to IDLE
token.c:2305:                rows_affected = 0
util.c:110:logic error: cannot change query state from IDLE to PENDING
token.c:495:tds_process_tokens(0x98cc3d8, 0xbfe063f4, 0xbfe063f8, 0x104)
token.c:498:tds_process_tokens() state is COMPLETED
odbc.c:1294:SQLBindParameter(0x98fe938, 1, 1, 4, 4, 0, 0, 0x804a740, 0, 0x804a744)
odbc.c:1195:_SQLBindParameter(0x98fe938, 1, 1, 4, 4, 0, 0, 0x804a740, 0, 0x804a744)
odbc.c:1294:SQLBindParameter(0x98fe938, 2, 1, 1, 1, 40, 0, 0x804a760, 0, 0x804a78c)
odbc.c:1195:_SQLBindParameter(0x98fe938, 2, 1, 1, 1, 40, 0, 0x804a760, 0, 0x804a78c)
odbc.c:1294:SQLBindParameter(0x98fe938, 3, 1, 1, 12, 40, 0, 0x804a7a0, 0, 0x804a7cc)
odbc.c:1195:_SQLBindParameter(0x98fe938, 3, 1, 1, 12, 40, 0, 0x804a7a0, 0, 0x804a7cc)
odbc.c:3318:SQLExecute(0x98fe938)
prepare_query.c:202:parsing 0 parameters
sql2tds.c:150:type=4
sql2tds.c:156:trace
sql2tds.c:150:type=1
sql2tds.c:156:trace
sql2tds.c:150:type=12
sql2tds.c:156:trace
odbc.c:3043:_SQLExecute(0x98fe938)
odbc.c:3048:_SQLExecute() starting with state 0
query.c:1769:tds_submit_unprepare() icv2o36000
mem.c:563:tds_free_all_results()
util.c:162:Changed query state from IDLE to QUERYING
util.c:162:Changed query state from QUERYING to PENDING
net.c:768:Sending packet
0000 03 01 00 17 00 00 01 00-ff ff 0f 00 00 00 00 00 |........ ........|
0010 26 04 04 01 00 00 00   -                        |&......|

token.c:495:tds_process_tokens(0x98cc3d8, 0xbfe06314, 0xbfe06318, 0x100)
util.c:162:Changed query state from PENDING to READING
net.c:662:Received packet
0000 04 01 00 16 00 33 01 00-79 00 00 00 00 fe 00 00 |.....3.. y.......|
0010 e0 00 00 00 00 00      -                        |......|

token.c:510:processing result tokens.  marker is  79(RETURNSTATUS)
token.c:510:processing result tokens.  marker is  fe(DONEPROC)
token.c:2274:tds_process_end: more_results = 0
		was_cancelled = 0
		error = 0
		done_count_valid = 0
token.c:2290:tds_process_end() state set to TDS_IDLE
util.c:162:Changed query state from READING to IDLE
token.c:2305:                rows_affected = 0
util.c:110:logic error: cannot change query state from IDLE to PENDING
token.c:495:tds_process_tokens(0x98cc3d8, 0xbfe06314, 0xbfe06318, 0x100)
token.c:498:tds_process_tokens() state is COMPLETED
odbc.c:3136:Creating prepared statement
mem.c:563:tds_free_all_results()
util.c:162:Changed query state from IDLE to QUERYING
write.c:136:tds_put_string converting 3 bytes of "@P1"
write.c:164:tds_put_string wrote 6 bytes
write.c:136:tds_put_string converting 3 bytes of "@P2"
write.c:164:tds_put_string wrote 6 bytes
write.c:136:tds_put_string converting 3 bytes of "@P3"
write.c:164:tds_put_string wrote 6 bytes
util.c:162:Changed query state from QUERYING to PENDING
net.c:768:Sending packet
0000 03 01 00 d4 00 00 01 00-ff ff 0b 00 00 00 00 01 |........ ........|
0010 26 04 00 00 00 63 48 00-00 00 11 04 00 11 00 48 |&....cH. .......H|
0020 00 00 00 40 00 50 00 31-00 20 00 49 00 4e 00 54 |[email protected] . .I.N.T|
0030 00 2c 00 40 00 50 00 32-00 20 00 43 00 48 00 41 |.,[email protected] . .C.H.A|
0040 00 52 00 28 00 34 00 30-00 29 00 2c 00 40 00 50 |.R.(.4.0 .).,[email protected]|
0050 00 33 00 20 00 56 00 41-00 52 00 43 00 48 00 41 |.3. .V.A .R.C.H.A|
0060 00 52 00 28 00 34 00 30-00 29 00 00 00 63 50 00 |.R.(.4.0 .)...cP.|
0070 00 00 11 04 00 11 00 50-00 00 00 69 00 6e 00 73 |.......P ...i.n.s|
0080 00 65 00 72 00 74 00 20-00 69 00 6e 00 74 00 6f |.e.r.t.  .i.n.t.o|
0090 00 20 00 6d 00 79 00 74-00 61 00 62 00 8b 73 3b |. .m.y.t .a.b..s;|
00a0 9d 20 00 76 00 61 00 6c-00 75 00 65 00 73 00 20 |. .v.a.l .u.e.s. |
00b0 00 28 00 40 00 50 00 31-00 2c 00 40 00 50 00 32 |.([email protected] .,[email protected]|
00c0 00 2c 00 40 00 50 00 33-00 29 00 00 00 26 04 04 |.,[email protected] .)...&..|
00d0 01 00 00 00            -                        |....|

token.c:495:tds_process_tokens(0x98cc3d8, 0xbfe06334, 0xbfe06338, 0x100)
util.c:162:Changed query state from PENDING to READING
net.c:662:Received packet
0000 04 01 00 2f 00 33 01 00-ff 11 00 c3 00 00 00 00 |.../.3.. ........|
0010 00 79 00 00 00 00 ac 0d-00 00 01 00 00 00 00 26 |.y...... .......&|
0020 04 04 02 00 00 00 fe 00-00 e0 00 00 00 00 00    |........ .......|

token.c:510:processing result tokens.  marker is  ff(DONEINPROC)
token.c:2274:tds_process_end: more_results = 1
		was_cancelled = 0
		error = 0
		done_count_valid = 1
token.c:2305:                rows_affected = 0
token.c:510:processing result tokens.  marker is  79(RETURNSTATUS)
token.c:510:processing result tokens.  marker is  ac(PARAM)
token.c:567:processing parameters for sp 11
token.c:569:calling tds_process_param_result
token.c:1198:tds_process_param_result(0x98cc3d8, 0xbfe062dc)
token.c:1582:tds_get_data_info(0x98cc3d8, 0x98ffce8, 1) [for parameter]token.c:1645:processing result. type = 38(integer-null), varint_size 1
token.c:1666:processing result. column_size 4
token.c:1984:tds_get_data: type 38, varint size 1
token.c:2048:tds_get_data(): wire column size is 4 
log.c:481:type integer-null has value 2
token.c:573:1 hidden return parameters
token.c:510:processing result tokens.  marker is  fe(DONEPROC)
token.c:2274:tds_process_end: more_results = 0
		was_cancelled = 0
		error = 0
		done_count_valid = 0
token.c:2290:tds_process_end() state set to TDS_IDLE
util.c:162:Changed query state from READING to IDLE
token.c:2305:                rows_affected = 0
util.c:110:logic error: cannot change query state from IDLE to PENDING
token.c:495:tds_process_tokens(0x98cc3d8, 0xbfe06334, 0xbfe06338, 0x100)
token.c:498:tds_process_tokens() state is COMPLETED
odbc.c:3156:End prepare, execute
query.c:1631:tds_submit_execute()
mem.c:563:tds_free_all_results()
util.c:162:Changed query state from IDLE to QUERYING
query.c:1326:tds_put_data_info putting status 
query.c:1420:tds_put_data: colsize = 4
query.c:1449:tds_put_data: not null param varint_size = 1
query.c:1326:tds_put_data_info putting status 
query.c:1420:tds_put_data: colsize = 9
query.c:1449:tds_put_data: not null param varint_size = 2
util.c:334:tdserror(0x98cb050, 0x98cc3d8, 2402, 0)
odbc.c:2106:msgno 2402 20003
util.c:368:tdserror: client library returned TDS_INT_CANCEL(2)
util.c:389:tdserror: returning TDS_INT_CANCEL(2)
query.c:1326:tds_put_data_info putting status 
query.c:1420:tds_put_data: colsize = 9
query.c:1449:tds_put_data: not null param varint_size = 2
util.c:334:tdserror(0x98cb050, 0x98cc3d8, 2402, 0)
odbc.c:2106:msgno 2402 20003
util.c:368:tdserror: client library returned TDS_INT_CANCEL(2)
util.c:389:tdserror: returning TDS_INT_CANCEL(2)
util.c:162:Changed query state from QUERYING to PENDING
net.c:768:Sending packet
0000 03 01 00 46 00 00 01 00-0a 00 73 00 70 00 5f 00 |...F.... ..s.p._.|
0010 65 00 78 00 65 00 63 00-75 00 74 00 65 00 00 00 |e.x.e.c. u.t.e...|
0020 00 00 26 04 04 02 00 00-00 00 00 26 04 04 00 00 |..&..... ...&....|
0030 00 00 00 00 af 28 00 11-04 00 11 00 00 00 a7 28 |.....(.. .......(|
0040 00 11 04 00 11 00      -                        |......|

token.c:495:tds_process_tokens(0x98cc3d8, 0xbfe06340, 0xbfe06344, 0x6914)
util.c:162:Changed query state from PENDING to READING
net.c:662:Received packet
0000 04 01 01 4c 00 33 01 00-aa 38 01 45 1f 00 00 01 |...L.3.. .8.E....|
0010 10 8c 00 54 00 68 00 65-00 20 00 69 00 6e 00 63 |...T.h.e . .i.n.c|
0020 00 6f 00 6d 00 69 00 6e-00 67 00 20 00 74 00 61 |.o.m.i.n .g. .t.a|
0030 00 62 00 75 00 6c 00 61-00 72 00 20 00 64 00 61 |.b.u.l.a .r. .d.a|
0040 00 74 00 61 00 20 00 73-00 74 00 72 00 65 00 61 |.t.a. .s .t.r.e.a|
0050 00 6d 00 20 00 28 00 54-00 44 00 53 00 29 00 20 |.m. .(.T .D.S.). |
0060 00 72 00 65 00 6d 00 6f-00 74 00 65 00 20 00 70 |.r.e.m.o .t.e. .p|
0070 00 72 00 6f 00 63 00 65-00 64 00 75 00 72 00 65 |.r.o.c.e .d.u.r.e|
0080 00 20 00 63 00 61 00 6c-00 6c 00 20 00 28 00 52 |. .c.a.l .l. .(.R|
0090 00 50 00 43 00 29 00 20-00 70 00 72 00 6f 00 74 |.P.C.).  .p.r.o.t|
00a0 00 6f 00 63 00 6f 00 6c-00 20 00 73 00 74 00 72 |.o.c.o.l . .s.t.r|
00b0 00 65 00 61 00 6d 00 20-00 69 00 73 00 20 00 69 |.e.a.m.  .i.s. .i|
00c0 00 6e 00 63 00 6f 00 72-00 72 00 65 00 63 00 74 |.n.c.o.r .r.e.c.t|
00d0 00 2e 00 20 00 50 00 61-00 72 00 61 00 6d 00 65 |... .P.a .r.a.m.e|
00e0 00 74 00 65 00 72 00 20-00 34 00 3a 00 20 00 54 |.t.e.r.  .4.:. .T|
00f0 00 68 00 65 00 20 00 70-00 61 00 72 00 61 00 6d |.h.e. .p .a.r.a.m|
0100 00 65 00 74 00 65 00 72-00 20 00 6e 00 61 00 6d |.e.t.e.r . .n.a.m|
0110 00 65 00 20 00 69 00 73-00 20 00 69 00 6e 00 76 |.e. .i.s . .i.n.v|
0120 00 61 00 6c 00 69 00 64-00 2e 00 0a 43 00 4f 00 |.a.l.i.d ....C.O.|
0130 42 00 52 00 41 00 5c 00-4d 00 53 00 56 00 31 00 |B.R.A.\. M.S.V.1.|
0140 00 01 00 fd 02 00 fd 00-00 00 00 00             |........ ....|

token.c:510:processing result tokens.  marker is  aa(ERROR)
token.c:108:tds_process_default_tokens() marker is aa(ERROR)
token.c:2523:tds_process_msg() reading message from server
token.c:2596:tds_process_msg() calling client msg handler
odbc.c:2106:msgno 8005 20003
token.c:2609:tds_process_msg() returning TDS_SUCCEED
token.c:510:processing result tokens.  marker is  fd(DONE)
token.c:2274:tds_process_end: more_results = 0
		was_cancelled = 0
		error = 1
		done_count_valid = 0
token.c:2290:tds_process_end() state set to TDS_IDLE
util.c:162:Changed query state from READING to IDLE
token.c:2305:                rows_affected = 0
util.c:110:logic error: cannot change query state from IDLE to PENDING
odbc.c:3356:odbc_process_tokens: tds_process_tokens returned 1
odbc.c:3357:    result_type=4052, TDS_DONE_COUNT=0, TDS_DONE_ERROR=2
odbc.c:3397:odbc_process_tokens: row_count=-1
odbc.c:3197:_SQLExecute: odbc_process_tokens returned result_type 4052
odbc.c:3341:SQLExecute returns SQL_ERROR or SQL_NULL_DATA
error.c:613:SQLGetDiagRec(3, 0x98fe938, 1, 0xbfe063e0, 0xbfe063dc, 0xbfe061c0, 513, 0xbfe061be)
error.c:559:_SQLError: "The incoming tabular data stream (TDS) remote procedure call (RPC) protocol stream is incorrect. Parameter 4: The parameter name is invalid."
error.c:618:SQLGetDiagRec returning 0
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.