Skip to Content.
Sympa Menu

freetds - Re: [freetds] Status of UTF-8 support in 0.83 dev

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: Sebastien FLAESCH <sf AT 4js.com>
  • To: FreeTDS Development Group <freetds AT lists.ibiblio.org>
  • Subject: Re: [freetds] Status of UTF-8 support in 0.83 dev
  • Date: Tue, 12 Aug 2008 18:14:31 +0200

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
FreeTDS AT lists.ibiblio.org
http://lists.ibiblio.org/mailman/listinfo/freetds

_______________________________________________
FreeTDS mailing list
FreeTDS AT lists.ibiblio.org
http://lists.ibiblio.org/mailman/listinfo/freetds


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 |...@.P.1 . .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 |.,.@.P.2 . .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 |.,.@.P.3 . .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. .( .@.P.1.,|
00d0 00 40 00 50 00 32 00 2c-00 40 00 50 00 33 00 29 |.@.P.2., .@.P.3.)|
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 |...@.P.1 . .I.N.T|
0030 00 2c 00 40 00 50 00 32-00 20 00 43 00 48 00 41 |.,.@.P.2 . .C.H.A|
0040 00 52 00 28 00 34 00 30-00 29 00 2c 00 40 00 50 |.R.(.4.0 .).,.@.P|
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 |.(.@.P.1 .,.@.P.2|
00c0 00 2c 00 40 00 50 00 33-00 29 00 00 00 26 04 04 |.,.@.P.3 .)...&..|
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



Archive powered by MHonArc 2.6.24.

Top of Page