[freetds] VARCHAR from PGSQL source understood as TEXT by FreeTDS

Charles Bearden Charles.F.Bearden at uth.tmc.edu
Wed Aug 11 22:49:48 EDT 2004


Using freetds-0.63.dev.20040810 with eGenix mx.ODBC 2.0.6 and iODBC
3.51.2 under RH 9.

I'm scooping out rows from a PostgreSQL database and inserting them into
MS SQL server tables that are structured as nearly identical to the
PGSQL ones as I can get (I do use generally nvarchar in SQL Server
instead of varchar, but identical column names and sizes).

Here's the MS SQL version:

ID              int
PMID            nvarchar (10)
MID             nvarchar (10)
ISSN            nvarchar (9)
Volume          nvarchar (48)
Issue           nvarchar (100)
PDYear          nvarchar (16)
PDMonth         nvarchar (16)
PDDay           nvarchar (20)
PDSeason        nvarchar (40)
PDMedDate       nvarchar (100)
ArticleTitle    nvarchar (1024)
Pagination      nvarchar (50)
Affiliation     nvarchar (768)
Language        nchar    (3)
VernacularTitle nvarchar (640)
Country         nvarchar (30)
MedlineTA       nvarchar (100)
NlmUniqueId     nvarchar (10)
PubDate         nvarchar (128)
Cite            nvarchar (640)

I've successfully inserted several thousand rows, but I got the
following exception with one row:

Traceback (most recent call last):
  File "./convtest.py", line 33, in ?
    mx_cur.execute(ins, tuple(r))
mxODBC.OperationalError: ('', 260, "[FreeTDS][SQL Server]Disallowed
implicit conversion from data type text to data type nvarchar, table
'IfSH_Test.dbo.pmCite', column 'ArticleTitle'. Use the CONVERT function
to run this query.", 4579)

All ArticleTitle rows are UTF-8-encoded VARCHARs in the source
PostgreSQL db.  The offending row looks like this:

(5300, '1389710', '93001812', '0007-0769', '67', '4', '1992', 'Apr', '',
'', '',  'Recommended guidelines for uniform reporting of data from
out-of-hospital cardiac arrest (new abridged version). The "Utstein
style". The European Resuscitation Council, American Heart Association,
Heart and Stroke Foundation of Canada, and Australian Resuscitation
Council.', '325-33', '', 'eng', '', 'ENGLAND', 'Br Heart J', '0370634',
'1992 Apr', 'Br Heart J. 1992 Apr; 67 (4): 325-33')

The offending ArticleTitle field is the string beginning 'Recommended
guidelines'.  It is not especially long--274 bytes.  My question: why is
it getting pegged as TEXT rather than NVARCHAR or VARCHAR by FreeTDS?

I'm appending the post-login portion of the TDSDUMP file.

Thanks for any help,
Chuck Bearden
Systems Analyst III
School of Health Information Sciences
University of Texas at Houston
713.500.3954 (voice)
713.500.3907 (fax)
Charles.F.Bearden at uth.tmc.edu

[...]
21:12:01.343976 tds_process_end() state set to TDS_IDLE
21:12:01.343992 leaving tds_process_login_tokens() returning 1
21:12:01.344017 tds_free_all_results()
21:12:01.344034 tds_put_string converting 19 bytes of "set textsize
64512 "
21:12:01.344051 tds_put_string wrote 38 bytes
21:12:01.344066 Sending packet
0000 01 01 00 2e 00 00 01 00-73 00 65 00 74 00 20 00 |........ s.e.t. .|
0010 74 00 65 00 78 00 74 00-73 00 69 00 7a 00 65 00 |t.e.x.t. s.i.z.e.|
0020 20 00 36 00 34 00 35 00-31 00 32 00 20 00       | .6.4.5. 1.2. .|

21:12:01.344525 Received header
0000 04 01 00 11 00 38 01 00-                        |.....8..|

21:12:01.344545 Received packet
0000 fd 00 00 be 00 00 00 00-00                      |........ .|

21:12:01.344559 processing result tokens.  marker is  fd(DONE)
21:12:01.344597 tds_process_end: more_results = 0
		was_cancelled = 0
		error = 0
		done_count_valid = 0
21:12:01.344614 tds_process_end() state set to TDS_IDLE
21:12:01.344630 tds_process_result_tokens() state is COMPLETED
21:12:01.344675 SQLGetFunctions: fFunction is 58
21:12:01.344705 change_autocommit: executing SET IMPLICIT_TRANSACTIONS
ON
21:12:01.344722 tds_free_all_results()
21:12:01.344738 tds_put_string converting 28 bytes of "SET
IMPLICIT_TRANSACTIONS ON"
21:12:01.344756 tds_put_string wrote 56 bytes
21:12:01.344772 Sending packet
0000 01 01 00 40 00 00 01 00-53 00 45 00 54 00 20 00 |... at .... 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 4e 00 |T.I.O.N. S. .O.N.|

21:12:01.345157 Received header
0000 04 01 00 11 00 38 01 00-                        |.....8..|

21:12:01.345176 Received packet
0000 fd 00 00 b9 00 00 00 00-00                      |........ .|

21:12:01.345190 processing result tokens.  marker is  fd(DONE)
21:12:01.345208 tds_process_end: more_results = 0
		was_cancelled = 0
		error = 0
		done_count_valid = 0
21:12:01.345224 tds_process_end() state set to TDS_IDLE
21:12:01.345240 tds_process_result_tokens() state is COMPLETED
21:12:01.345326 tds_free_all_results()
21:12:01.345343 tds_put_string converting 17 bytes of "SET ARITHABORT
ON"
21:12:01.345361 tds_put_string wrote 34 bytes
21:12:01.345377 Sending packet
0000 01 01 00 2a 00 00 01 00-53 00 45 00 54 00 20 00 |...*.... S.E.T. .|
0010 41 00 52 00 49 00 54 00-48 00 41 00 42 00 4f 00 |A.R.I.T. H.A.B.O.|
0020 52 00 54 00 20 00 4f 00-4e 00                   |R.T. .O. N.|

21:12:01.345695 Received header
0000 04 01 00 11 00 38 01 00-                        |.....8..|

21:12:01.345715 Received packet
0000 fd 00 00 b9 00 00 00 00-00                      |........ .|

21:12:01.345729 processing result tokens.  marker is  fd(DONE)
21:12:01.345745 tds_process_end: more_results = 0
		was_cancelled = 0
		error = 0
		done_count_valid = 0
21:12:01.345762 tds_process_end() state set to TDS_IDLE
21:12:01.345778 tds_process_result_tokens() state is COMPLETED
21:12:01.353560 Creating prepared statement
21:12:01.353618 tds_free_all_results()
21:12:01.353668 tds_put_string converting 3 bytes of "@P1"
21:12:01.353685 tds_put_string wrote 6 bytes
21:12:01.353702 tds_put_string converting 3 bytes of "@P2"
21:12:01.353718 tds_put_string wrote 6 bytes
21:12:01.353735 tds_put_string converting 3 bytes of "@P3"
21:12:01.353751 tds_put_string wrote 6 bytes
21:12:01.353767 tds_put_string converting 3 bytes of "@P4"
21:12:01.353783 tds_put_string wrote 6 bytes
21:12:01.353800 tds_put_string converting 3 bytes of "@P5"
21:12:01.353816 tds_put_string wrote 6 bytes
21:12:01.353833 tds_put_string converting 3 bytes of "@P6"
21:12:01.353849 tds_put_string wrote 6 bytes
21:12:01.353865 tds_put_string converting 3 bytes of "@P7"
21:12:01.353881 tds_put_string wrote 6 bytes
21:12:01.353897 tds_put_string converting 3 bytes of "@P8"
21:12:01.353914 tds_put_string wrote 6 bytes
21:12:01.353930 tds_put_string converting 3 bytes of "@P9"
21:12:01.353946 tds_put_string wrote 6 bytes
21:12:01.353963 tds_put_string converting 4 bytes of "@P10"
21:12:01.353978 tds_put_string wrote 8 bytes
21:12:01.353995 tds_put_string converting 4 bytes of "@P11"
21:12:01.354011 tds_put_string wrote 8 bytes
21:12:01.354028 tds_put_string converting 4 bytes of "@P12"
21:12:01.354044 tds_put_string wrote 8 bytes
21:12:01.354060 tds_put_string converting 4 bytes of "@P13"
21:12:01.354076 tds_put_string wrote 8 bytes
21:12:01.354093 tds_put_string converting 4 bytes of "@P14"
21:12:01.354109 tds_put_string wrote 8 bytes
21:12:01.354125 tds_put_string converting 4 bytes of "@P15"
21:12:01.354141 tds_put_string wrote 8 bytes
21:12:01.354158 tds_put_string converting 4 bytes of "@P16"
21:12:01.354174 tds_put_string wrote 8 bytes
21:12:01.354190 tds_put_string converting 4 bytes of "@P17"
21:12:01.354207 tds_put_string wrote 8 bytes
21:12:01.354254 tds_put_string converting 4 bytes of "@P18"
21:12:01.354270 tds_put_string wrote 8 bytes
21:12:01.354287 tds_put_string converting 4 bytes of "@P19"
21:12:01.354303 tds_put_string wrote 8 bytes
21:12:01.354320 tds_put_string converting 4 bytes of "@P20"
21:12:01.354336 tds_put_string wrote 8 bytes
21:12:01.354352 tds_put_string converting 4 bytes of "@P21"
21:12:01.354369 tds_put_string wrote 8 bytes
21:12:01.354385 Sending packet
0000 03 01 05 a2 00 00 01 00-0a 00 73 00 70 00 5f 00 |........ ..s.p._.|
0010 70 00 72 00 65 00 70 00-61 00 72 00 65 00 00 00 |p.r.e.p. a.r.e...|
0020 00 01 26 04 00 00 00 63-b6 02 00 00 b6 02 00 00 |..&....c ........|
0030 40 00 50 00 31 00 20 00-76 00 61 00 72 00 63 00 |@.P.1. . v.a.r.c.|
0040 68 00 61 00 72 00 28 00-38 00 30 00 29 00 2c 00 |h.a.r.(. 8.0.).,.|
0050 40 00 50 00 32 00 20 00-76 00 61 00 72 00 63 00 |@.P.2. . v.a.r.c.|
0060 68 00 61 00 72 00 28 00-38 00 30 00 29 00 2c 00 |h.a.r.(. 8.0.).,.|
0070 40 00 50 00 33 00 20 00-76 00 61 00 72 00 63 00 |@.P.3. . v.a.r.c.|
0080 68 00 61 00 72 00 28 00-38 00 30 00 29 00 2c 00 |h.a.r.(. 8.0.).,.|
0090 40 00 50 00 34 00 20 00-76 00 61 00 72 00 63 00 |@.P.4. . v.a.r.c.|
00a0 68 00 61 00 72 00 28 00-38 00 30 00 29 00 2c 00 |h.a.r.(. 8.0.).,.|
00b0 40 00 50 00 35 00 20 00-76 00 61 00 72 00 63 00 |@.P.5. . v.a.r.c.|
00c0 68 00 61 00 72 00 28 00-38 00 30 00 29 00 2c 00 |h.a.r.(. 8.0.).,.|
00d0 40 00 50 00 36 00 20 00-76 00 61 00 72 00 63 00 |@.P.6. . v.a.r.c.|
00e0 68 00 61 00 72 00 28 00-38 00 30 00 29 00 2c 00 |h.a.r.(. 8.0.).,.|
00f0 40 00 50 00 37 00 20 00-76 00 61 00 72 00 63 00 |@.P.7. . v.a.r.c.|
0100 68 00 61 00 72 00 28 00-38 00 30 00 29 00 2c 00 |h.a.r.(. 8.0.).,.|
0110 40 00 50 00 38 00 20 00-76 00 61 00 72 00 63 00 |@.P.8. . v.a.r.c.|
0120 68 00 61 00 72 00 28 00-38 00 30 00 29 00 2c 00 |h.a.r.(. 8.0.).,.|
0130 40 00 50 00 39 00 20 00-76 00 61 00 72 00 63 00 |@.P.9. . v.a.r.c.|
0140 68 00 61 00 72 00 28 00-38 00 30 00 29 00 2c 00 |h.a.r.(. 8.0.).,.|
0150 40 00 50 00 31 00 30 00-20 00 76 00 61 00 72 00 |@.P.1.0.  .v.a.r.|
0160 63 00 68 00 61 00 72 00-28 00 38 00 30 00 29 00 |c.h.a.r. (.8.0.).|
0170 2c 00 40 00 50 00 31 00-31 00 20 00 76 00 61 00 |,. at .P.1. 1. .v.a.|
0180 72 00 63 00 68 00 61 00-72 00 28 00 38 00 30 00 |r.c.h.a. r.(.8.0.|
0190 29 00 2c 00 40 00 50 00-31 00 32 00 20 00 76 00 |).,. at .P. 1.2. .v.|
01a0 61 00 72 00 63 00 68 00-61 00 72 00 28 00 38 00 |a.r.c.h. a.r.(.8.|
01b0 30 00 29 00 2c 00 40 00-50 00 31 00 33 00 20 00 |0.).,. at . P.1.3. .|
01c0 76 00 61 00 72 00 63 00-68 00 61 00 72 00 28 00 |v.a.r.c. h.a.r.(.|
01d0 38 00 30 00 29 00 2c 00-40 00 50 00 31 00 34 00 |8.0.).,. @.P.1.4.|
01e0 20 00 76 00 61 00 72 00-63 00 68 00 61 00 72 00 | .v.a.r. c.h.a.r.|
01f0 28 00 38 00 30 00 29 00-2c 00 40 00 50 00 31 00 |(.8.0.). ,. at .P.1.|
0200 35 00 20 00 76 00 61 00-72 00 63 00 68 00 61 00 |5. .v.a. r.c.h.a.|
0210 72 00 28 00 38 00 30 00-29 00 2c 00 40 00 50 00 |r.(.8.0. ).,. at .P.|
0220 31 00 36 00 20 00 76 00-61 00 72 00 63 00 68 00 |1.6. .v. a.r.c.h.|
0230 61 00 72 00 28 00 38 00-30 00 29 00 2c 00 40 00 |a.r.(.8. 0.).,. at .|
0240 50 00 31 00 37 00 20 00-76 00 61 00 72 00 63 00 |P.1.7. . v.a.r.c.|
0250 68 00 61 00 72 00 28 00-38 00 30 00 29 00 2c 00 |h.a.r.(. 8.0.).,.|
0260 40 00 50 00 31 00 38 00-20 00 76 00 61 00 72 00 |@.P.1.8.  .v.a.r.|
0270 63 00 68 00 61 00 72 00-28 00 38 00 30 00 29 00 |c.h.a.r. (.8.0.).|
0280 2c 00 40 00 50 00 31 00-39 00 20 00 76 00 61 00 |,. at .P.1. 9. .v.a.|
0290 72 00 63 00 68 00 61 00-72 00 28 00 38 00 30 00 |r.c.h.a. r.(.8.0.|
02a0 29 00 2c 00 40 00 50 00-32 00 30 00 20 00 76 00 |).,. at .P. 2.0. .v.|
02b0 61 00 72 00 63 00 68 00-61 00 72 00 28 00 38 00 |a.r.c.h. a.r.(.8.|
02c0 30 00 29 00 2c 00 40 00-50 00 32 00 31 00 20 00 |0.).,. at . P.2.1. .|
02d0 76 00 61 00 72 00 63 00-68 00 61 00 72 00 28 00 |v.a.r.c. h.a.r.(.|
02e0 38 00 30 00 29 00 00 00-63 aa 02 00 00 aa 02 00 |8.0.)... c.......|
02f0 00 0a 00 49 00 4e 00 53-00 45 00 52 00 54 00 20 |...I.N.S .E.R.T. |
0300 00 49 00 4e 00 54 00 4f-00 20 00 70 00 6d 00 43 |.I.N.T.O . .p.m.C|
0310 00 69 00 74 00 65 00 0a-00 28 00 69 00 64 00 2c |.i.t.e.. .(.i.d.,|
0320 00 20 00 70 00 6d 00 69-00 64 00 2c 00 20 00 6d |. .p.m.i .d.,. .m|
0330 00 69 00 64 00 2c 00 20-00 69 00 73 00 73 00 6e |.i.d.,.  .i.s.s.n|
0340 00 2c 00 20 00 76 00 6f-00 6c 00 75 00 6d 00 65 |.,. .v.o .l.u.m.e|
0350 00 2c 00 20 00 69 00 73-00 73 00 75 00 65 00 2c |.,. .i.s .s.u.e.,|
0360 00 20 00 70 00 64 00 79-00 65 00 61 00 72 00 2c |. .p.d.y .e.a.r.,|
0370 00 20 00 70 00 64 00 6d-00 6f 00 6e 00 74 00 68 |. .p.d.m .o.n.t.h|
0380 00 2c 00 20 00 70 00 64-00 64 00 61 00 79 00 2c |.,. .p.d .d.a.y.,|
0390 00 20 00 70 00 64 00 73-00 65 00 61 00 73 00 6f |. .p.d.s .e.a.s.o|
03a0 00 6e 00 2c 00 20 00 70-00 64 00 6d 00 65 00 64 |.n.,. .p .d.m.e.d|
03b0 00 64 00 61 00 74 00 65-00 2c 00 20 00 61 00 72 |.d.a.t.e .,. .a.r|
03c0 00 74 00 69 00 63 00 6c-00 65 00 74 00 69 00 74 |.t.i.c.l .e.t.i.t|
03d0 00 6c 00 65 00 2c 00 20-00 70 00 61 00 67 00 69 |.l.e.,.  .p.a.g.i|
03e0 00 6e 00 61 00 74 00 69-00 6f 00 6e 00 2c 00 20 |.n.a.t.i .o.n.,. |
03f0 00 61 00 66 00 66 00 69-00 6c 00 69 00 61 00 74 |.a.f.f.i .l.i.a.t|
0400 00 69 00 6f 00 6e 00 2c-00 20 00 6c 00 61 00 6e |.i.o.n., . .l.a.n|
0410 00 67 00 75 00 61 00 67-00 65 00 2c 00 20 00 76 |.g.u.a.g .e.,. .v|
0420 00 65 00 72 00 6e 00 61-00 63 00 75 00 6c 00 61 |.e.r.n.a .c.u.l.a|
0430 00 72 00 74 00 69 00 74-00 6c 00 65 00 2c 00 20 |.r.t.i.t .l.e.,. |
0440 00 63 00 6f 00 75 00 6e-00 74 00 72 00 79 00 2c |.c.o.u.n .t.r.y.,|
0450 00 20 00 6d 00 65 00 64-00 6c 00 69 00 6e 00 65 |. .m.e.d .l.i.n.e|
0460 00 74 00 61 00 2c 00 20-00 6e 00 6c 00 6d 00 75 |.t.a.,.  .n.l.m.u|
0470 00 6e 00 69 00 71 00 75-00 65 00 69 00 64 00 2c |.n.i.q.u .e.i.d.,|
0480 00 20 00 70 00 75 00 62-00 64 00 61 00 74 00 65 |. .p.u.b .d.a.t.e|
0490 00 2c 00 20 00 63 00 69-00 74 00 65 00 29 00 0a |.,. .c.i .t.e.)..|
04a0 00 56 00 41 00 4c 00 55-00 45 00 53 00 0a 00 28 |.V.A.L.U .E.S...(|
04b0 00 40 00 50 00 31 00 2c-00 20 00 40 00 50 00 32 |. at .P.1., . . at .P.2|
04c0 00 2c 00 20 00 40 00 50-00 33 00 2c 00 20 00 40 |.,. . at .P .3.,. .@|
04d0 00 50 00 34 00 2c 00 20-00 40 00 50 00 35 00 2c |.P.4.,.  . at .P.5.,|
04e0 00 20 00 40 00 50 00 36-00 2c 00 20 00 40 00 50 |. . at .P.6 .,. . at .P|
04f0 00 37 00 2c 00 20 00 40-00 50 00 38 00 2c 00 20 |.7.,. .@ .P.8.,. |
0500 00 40 00 50 00 39 00 2c-00 20 00 40 00 50 00 31 |. at .P.9., . . at .P.1|
0510 00 30 00 2c 00 20 00 40-00 50 00 31 00 31 00 2c |.0.,. .@ .P.1.1.,|
0520 00 20 00 40 00 50 00 31-00 32 00 2c 00 20 00 40 |. . at .P.1 .2.,. .@|
0530 00 50 00 31 00 33 00 2c-00 20 00 40 00 50 00 31 |.P.1.3., . . at .P.1|
0540 00 34 00 2c 00 20 00 40-00 50 00 31 00 35 00 2c |.4.,. .@ .P.1.5.,|
0550 00 20 00 40 00 50 00 31-00 36 00 2c 00 20 00 40 |. . at .P.1 .6.,. .@|
0560 00 50 00 31 00 37 00 2c-00 20 00 40 00 50 00 31 |.P.1.7., . . at .P.1|
0570 00 38 00 2c 00 20 00 40-00 50 00 31 00 39 00 2c |.8.,. .@ .P.1.9.,|
0580 00 20 00 40 00 50 00 32-00 30 00 2c 00 20 00 40 |. . at .P.2 .0.,. .@|
0590 00 50 00 32 00 31 00 29-00 0a 00 00 00 38 01 00 |.P.2.1.) .....8..|
05a0 00 00                  -                        |..|

21:12:01.389419 Received header
0000 04 01 00 2f 00 38 01 00-                        |.../.8..|

21:12:01.389440 Received packet
0000 ff 11 00 c3 00 00 00 00-00 79 00 00 00 00 ac 0d |........ .y......|
0010 00 00 01 38 00 00 00 26-04 04 01 00 00 00 fe 00 |...8...& ........|
0020 00 e0 00 00 00 00 00   -                        |.......|

21:12:01.389479 processing result tokens.  marker is  ff(DONEINPROC)
21:12:01.389497 tds_process_end: more_results = 1
		was_cancelled = 0
		error = 0
		done_count_valid = 1
21:12:01.389514                 rows_affected = 0
21:12:01.389530 processing result tokens.  marker is  79(RETURNSTATUS)
21:12:01.389548 processing result tokens.  marker is  ac(PARAM)
21:12:01.389564 processing parameters for sp 11
21:12:01.389579 calling tds_process_param_result
21:12:01.389598 processing result. type = 38(integer-null), varint_size
1
21:12:01.389614 processing result. column_size 4
21:12:01.389631 processing row.  column is 0 varint size = 1
21:12:01.389648 processing row.  column size is 4 
21:12:01.389663 clearing column 0 NULL bit
21:12:01.389680 no of hidden return parameters 1
21:12:01.389717 processing result tokens.  marker is  fe(DONEPROC)
21:12:01.389734 tds_process_end: more_results = 0
		was_cancelled = 0
		error = 0
		done_count_valid = 0
21:12:01.389750 tds_process_end() state set to TDS_IDLE
21:12:01.389766 tds_process_result_tokens() state is COMPLETED
21:12:01.389855 sql2tds.c:120 type=4
21:12:01.389873 sql2tds.c:126
21:12:01.389905 sql2tds.c:271
21:12:01.389922 sql2tds.c:120 type=1
21:12:01.389938 sql2tds.c:126
21:12:01.389956 sql2tds.c:271
21:12:01.389973 sql2tds.c:120 type=1
21:12:01.389988 sql2tds.c:126
21:12:01.390005 sql2tds.c:271
21:12:01.390030 sql2tds.c:120 type=1
21:12:01.390046 sql2tds.c:126
21:12:01.390063 sql2tds.c:271
21:12:01.390080 sql2tds.c:120 type=1
21:12:01.390095 sql2tds.c:126
21:12:01.390112 sql2tds.c:271
21:12:01.390129 sql2tds.c:120 type=1
21:12:01.390144 sql2tds.c:126
21:12:01.390161 sql2tds.c:271
21:12:01.390178 sql2tds.c:120 type=1
21:12:01.390193 sql2tds.c:126
21:12:01.390210 sql2tds.c:271
21:12:01.390234 sql2tds.c:120 type=1
21:12:01.390250 sql2tds.c:126
21:12:01.390266 sql2tds.c:271
21:12:01.390283 sql2tds.c:120 type=1
21:12:01.390299 sql2tds.c:126
21:12:01.390315 sql2tds.c:271
21:12:01.390332 sql2tds.c:120 type=1
21:12:01.390348 sql2tds.c:126
21:12:01.390364 sql2tds.c:271
21:12:01.390387 sql2tds.c:120 type=1
21:12:01.390403 sql2tds.c:126
21:12:01.390419 sql2tds.c:271
21:12:01.390436 sql2tds.c:120 type=-1
21:12:01.390452 sql2tds.c:126
21:12:01.390470 sql2tds.c:271
21:12:01.390486 sql2tds.c:120 type=1
21:12:01.390502 sql2tds.c:126
21:12:01.390519 sql2tds.c:271
21:12:01.390535 sql2tds.c:120 type=1
21:12:01.390551 sql2tds.c:126
21:12:01.390567 sql2tds.c:271
21:12:01.390590 sql2tds.c:120 type=1
21:12:01.390607 sql2tds.c:126
21:12:01.390623 sql2tds.c:271
21:12:01.390640 sql2tds.c:120 type=1
21:12:01.390656 sql2tds.c:126
21:12:01.390672 sql2tds.c:271
21:12:01.390689 sql2tds.c:120 type=1
21:12:01.390704 sql2tds.c:126
21:12:01.390721 sql2tds.c:271
21:12:01.390738 sql2tds.c:120 type=1
21:12:01.390754 sql2tds.c:126
21:12:01.390770 sql2tds.c:271
21:12:01.390795 sql2tds.c:120 type=1
21:12:01.390811 sql2tds.c:126
21:12:01.390828 sql2tds.c:271
21:12:01.390845 sql2tds.c:120 type=1
21:12:01.390860 sql2tds.c:126
21:12:01.390877 sql2tds.c:271
21:12:01.390893 sql2tds.c:120 type=1
21:12:01.390909 sql2tds.c:126
21:12:01.390926 sql2tds.c:271
21:12:01.390943 tds_submit_unprepare() ox12436000
21:12:01.390959 tds_free_all_results()
21:12:01.390975 Sending packet
0000 03 01 00 2b 00 00 01 00-0c 00 73 00 70 00 5f 00 |...+.... ..s.p._.|
0010 75 00 6e 00 70 00 72 00-65 00 70 00 61 00 72 00 |u.n.p.r. e.p.a.r.|
0020 65 00 00 00 00 00 38 01-00 00 00                |e.....8. ...|

21:12:01.391426 Received header
0000 04 01 00 16 00 38 01 00-                        |.....8..|

21:12:01.391446 Received packet
0000 79 00 00 00 00 fe 00 00-e0 00 00 00 00 00       |y....... ......|

21:12:01.391461 processing result tokens.  marker is  79(RETURNSTATUS)
21:12:01.391478 processing result tokens.  marker is  fe(DONEPROC)
21:12:01.391494 tds_process_end: more_results = 0
		was_cancelled = 0
		error = 0
		done_count_valid = 0
21:12:01.391511 tds_process_end() state set to TDS_IDLE
21:12:01.391527 Creating prepared statement
21:12:01.391544 tds_free_all_results()
21:12:01.391603 tds_put_string converting 3 bytes of "@P1"
21:12:01.391619 tds_put_string wrote 6 bytes
21:12:01.391636 tds_put_string converting 3 bytes of "@P2"
21:12:01.391653 tds_put_string wrote 6 bytes
21:12:01.391669 tds_put_string converting 3 bytes of "@P3"
21:12:01.391685 tds_put_string wrote 6 bytes
21:12:01.391702 tds_put_string converting 3 bytes of "@P4"
21:12:01.391718 tds_put_string wrote 6 bytes
21:12:01.391734 tds_put_string converting 3 bytes of "@P5"
21:12:01.391750 tds_put_string wrote 6 bytes
21:12:01.391767 tds_put_string converting 3 bytes of "@P6"
21:12:01.391783 tds_put_string wrote 6 bytes
21:12:01.391800 tds_put_string converting 3 bytes of "@P7"
21:12:01.391815 tds_put_string wrote 6 bytes
21:12:01.391833 tds_put_string converting 3 bytes of "@P8"
21:12:01.391849 tds_put_string wrote 6 bytes
21:12:01.391890 tds_put_string converting 3 bytes of "@P9"
21:12:01.391906 tds_put_string wrote 6 bytes
21:12:01.391923 tds_put_string converting 4 bytes of "@P10"
21:12:01.391939 tds_put_string wrote 8 bytes
21:12:01.391955 tds_put_string converting 4 bytes of "@P11"
21:12:01.391971 tds_put_string wrote 8 bytes
21:12:01.391987 tds_put_string converting 4 bytes of "@P12"
21:12:01.392004 tds_put_string wrote 8 bytes
21:12:01.392020 tds_put_string converting 4 bytes of "@P13"
21:12:01.392037 tds_put_string wrote 8 bytes
21:12:01.392053 tds_put_string converting 4 bytes of "@P14"
21:12:01.392069 tds_put_string wrote 8 bytes
21:12:01.392085 tds_put_string converting 4 bytes of "@P15"
21:12:01.392101 tds_put_string wrote 8 bytes
21:12:01.392118 tds_put_string converting 4 bytes of "@P16"
21:12:01.392134 tds_put_string wrote 8 bytes
21:12:01.392150 tds_put_string converting 4 bytes of "@P17"
21:12:01.392166 tds_put_string wrote 8 bytes
21:12:01.392182 tds_put_string converting 4 bytes of "@P18"
21:12:01.392199 tds_put_string wrote 8 bytes
21:12:01.392215 tds_put_string converting 4 bytes of "@P19"
21:12:01.392231 tds_put_string wrote 8 bytes
21:12:01.392247 tds_put_string converting 4 bytes of "@P20"
21:12:01.392263 tds_put_string wrote 8 bytes
21:12:01.392280 tds_put_string converting 4 bytes of "@P21"
21:12:01.392296 tds_put_string wrote 8 bytes
21:12:01.392312 Sending packet
0000 03 01 04 f0 00 00 01 00-0a 00 73 00 70 00 5f 00 |........ ..s.p._.|
0010 70 00 72 00 65 00 70 00-61 00 72 00 65 00 00 00 |p.r.e.p. a.r.e...|
0020 00 01 26 04 00 00 00 63-04 02 00 00 04 02 00 00 |..&....c ........|
0030 40 00 50 00 31 00 20 00-49 00 4e 00 54 00 2c 00 |@.P.1. . I.N.T.,.|
0040 40 00 50 00 32 00 20 00-43 00 48 00 41 00 52 00 |@.P.2. . C.H.A.R.|
0050 28 00 37 00 29 00 2c 00-40 00 50 00 33 00 20 00 |(.7.).,. @.P.3. .|
0060 43 00 48 00 41 00 52 00-28 00 38 00 29 00 2c 00 |C.H.A.R. (.8.).,.|
0070 40 00 50 00 34 00 20 00-43 00 48 00 41 00 52 00 |@.P.4. . C.H.A.R.|
0080 28 00 39 00 29 00 2c 00-40 00 50 00 35 00 20 00 |(.9.).,. @.P.5. .|
0090 43 00 48 00 41 00 52 00-28 00 32 00 29 00 2c 00 |C.H.A.R. (.2.).,.|
00a0 40 00 50 00 36 00 20 00-43 00 48 00 41 00 52 00 |@.P.6. . C.H.A.R.|
00b0 28 00 31 00 29 00 2c 00-40 00 50 00 37 00 20 00 |(.1.).,. @.P.7. .|
00c0 43 00 48 00 41 00 52 00-28 00 34 00 29 00 2c 00 |C.H.A.R. (.4.).,.|
00d0 40 00 50 00 38 00 20 00-43 00 48 00 41 00 52 00 |@.P.8. . C.H.A.R.|
00e0 28 00 33 00 29 00 2c 00-40 00 50 00 39 00 20 00 |(.3.).,. @.P.9. .|
00f0 43 00 48 00 41 00 52 00-28 00 31 00 29 00 2c 00 |C.H.A.R. (.1.).,.|
0100 40 00 50 00 31 00 30 00-20 00 43 00 48 00 41 00 |@.P.1.0.  .C.H.A.|
0110 52 00 28 00 31 00 29 00-2c 00 40 00 50 00 31 00 |R.(.1.). ,. at .P.1.|
0120 31 00 20 00 43 00 48 00-41 00 52 00 28 00 31 00 |1. .C.H. A.R.(.1.|
0130 29 00 2c 00 40 00 50 00-31 00 32 00 20 00 54 00 |).,. at .P. 1.2. .T.|
0140 45 00 58 00 54 00 2c 00-40 00 50 00 31 00 33 00 |E.X.T.,. @.P.1.3.|
0150 20 00 43 00 48 00 41 00-52 00 28 00 36 00 29 00 | .C.H.A. R.(.6.).|
0160 2c 00 40 00 50 00 31 00-34 00 20 00 43 00 48 00 |,. at .P.1. 4. .C.H.|
0170 41 00 52 00 28 00 31 00-29 00 2c 00 40 00 50 00 |A.R.(.1. ).,. at .P.|
0180 31 00 35 00 20 00 43 00-48 00 41 00 52 00 28 00 |1.5. .C. H.A.R.(.|
0190 33 00 29 00 2c 00 40 00-50 00 31 00 36 00 20 00 |3.).,. at . P.1.6. .|
01a0 43 00 48 00 41 00 52 00-28 00 31 00 29 00 2c 00 |C.H.A.R. (.1.).,.|
01b0 40 00 50 00 31 00 37 00-20 00 43 00 48 00 41 00 |@.P.1.7.  .C.H.A.|
01c0 52 00 28 00 37 00 29 00-2c 00 40 00 50 00 31 00 |R.(.7.). ,. at .P.1.|
01d0 38 00 20 00 43 00 48 00-41 00 52 00 28 00 31 00 |8. .C.H. A.R.(.1.|
01e0 30 00 29 00 2c 00 40 00-50 00 31 00 39 00 20 00 |0.).,. at . P.1.9. .|
01f0 43 00 48 00 41 00 52 00-28 00 37 00 29 00 2c 00 |C.H.A.R. (.7.).,.|
0200 40 00 50 00 32 00 30 00-20 00 43 00 48 00 41 00 |@.P.2.0.  .C.H.A.|
0210 52 00 28 00 38 00 29 00-2c 00 40 00 50 00 32 00 |R.(.8.). ,. at .P.2.|
0220 31 00 20 00 43 00 48 00-41 00 52 00 28 00 33 00 |1. .C.H. A.R.(.3.|
0230 36 00 29 00 00 00 63 aa-02 00 00 aa 02 00 00 0a |6.)...c. ........|
0240 00 49 00 4e 00 53 00 45-00 52 00 54 00 20 00 49 |.I.N.S.E .R.T. .I|
0250 00 4e 00 54 00 4f 00 20-00 70 00 6d 00 43 00 69 |.N.T.O.  .p.m.C.i|
0260 00 74 00 65 00 0a 00 28-00 69 00 64 00 2c 00 20 |.t.e...( .i.d.,. |
0270 00 70 00 6d 00 69 00 64-00 2c 00 20 00 6d 00 69 |.p.m.i.d .,. .m.i|
0280 00 64 00 2c 00 20 00 69-00 73 00 73 00 6e 00 2c |.d.,. .i .s.s.n.,|
0290 00 20 00 76 00 6f 00 6c-00 75 00 6d 00 65 00 2c |. .v.o.l .u.m.e.,|
02a0 00 20 00 69 00 73 00 73-00 75 00 65 00 2c 00 20 |. .i.s.s .u.e.,. |
02b0 00 70 00 64 00 79 00 65-00 61 00 72 00 2c 00 20 |.p.d.y.e .a.r.,. |
02c0 00 70 00 64 00 6d 00 6f-00 6e 00 74 00 68 00 2c |.p.d.m.o .n.t.h.,|
02d0 00 20 00 70 00 64 00 64-00 61 00 79 00 2c 00 20 |. .p.d.d .a.y.,. |
02e0 00 70 00 64 00 73 00 65-00 61 00 73 00 6f 00 6e |.p.d.s.e .a.s.o.n|
02f0 00 2c 00 20 00 70 00 64-00 6d 00 65 00 64 00 64 |.,. .p.d .m.e.d.d|
0300 00 61 00 74 00 65 00 2c-00 20 00 61 00 72 00 74 |.a.t.e., . .a.r.t|
0310 00 69 00 63 00 6c 00 65-00 74 00 69 00 74 00 6c |.i.c.l.e .t.i.t.l|
0320 00 65 00 2c 00 20 00 70-00 61 00 67 00 69 00 6e |.e.,. .p .a.g.i.n|
0330 00 61 00 74 00 69 00 6f-00 6e 00 2c 00 20 00 61 |.a.t.i.o .n.,. .a|
0340 00 66 00 66 00 69 00 6c-00 69 00 61 00 74 00 69 |.f.f.i.l .i.a.t.i|
0350 00 6f 00 6e 00 2c 00 20-00 6c 00 61 00 6e 00 67 |.o.n.,.  .l.a.n.g|
0360 00 75 00 61 00 67 00 65-00 2c 00 20 00 76 00 65 |.u.a.g.e .,. .v.e|
0370 00 72 00 6e 00 61 00 63-00 75 00 6c 00 61 00 72 |.r.n.a.c .u.l.a.r|
0380 00 74 00 69 00 74 00 6c-00 65 00 2c 00 20 00 63 |.t.i.t.l .e.,. .c|
0390 00 6f 00 75 00 6e 00 74-00 72 00 79 00 2c 00 20 |.o.u.n.t .r.y.,. |
03a0 00 6d 00 65 00 64 00 6c-00 69 00 6e 00 65 00 74 |.m.e.d.l .i.n.e.t|
03b0 00 61 00 2c 00 20 00 6e-00 6c 00 6d 00 75 00 6e |.a.,. .n .l.m.u.n|
03c0 00 69 00 71 00 75 00 65-00 69 00 64 00 2c 00 20 |.i.q.u.e .i.d.,. |
03d0 00 70 00 75 00 62 00 64-00 61 00 74 00 65 00 2c |.p.u.b.d .a.t.e.,|
03e0 00 20 00 63 00 69 00 74-00 65 00 29 00 0a 00 56 |. .c.i.t .e.)...V|
03f0 00 41 00 4c 00 55 00 45-00 53 00 0a 00 28 00 40 |.A.L.U.E .S...(.@|
0400 00 50 00 31 00 2c 00 20-00 40 00 50 00 32 00 2c |.P.1.,.  . at .P.2.,|
0410 00 20 00 40 00 50 00 33-00 2c 00 20 00 40 00 50 |. . at .P.3 .,. . at .P|
0420 00 34 00 2c 00 20 00 40-00 50 00 35 00 2c 00 20 |.4.,. .@ .P.5.,. |
0430 00 40 00 50 00 36 00 2c-00 20 00 40 00 50 00 37 |. at .P.6., . . at .P.7|
0440 00 2c 00 20 00 40 00 50-00 38 00 2c 00 20 00 40 |.,. . at .P .8.,. .@|
0450 00 50 00 39 00 2c 00 20-00 40 00 50 00 31 00 30 |.P.9.,.  . at .P.1.0|
0460 00 2c 00 20 00 40 00 50-00 31 00 31 00 2c 00 20 |.,. . at .P .1.1.,. |
0470 00 40 00 50 00 31 00 32-00 2c 00 20 00 40 00 50 |. at .P.1.2 .,. . at .P|
0480 00 31 00 33 00 2c 00 20-00 40 00 50 00 31 00 34 |.1.3.,.  . at .P.1.4|
0490 00 2c 00 20 00 40 00 50-00 31 00 35 00 2c 00 20 |.,. . at .P .1.5.,. |
04a0 00 40 00 50 00 31 00 36-00 2c 00 20 00 40 00 50 |. at .P.1.6 .,. . at .P|
04b0 00 31 00 37 00 2c 00 20-00 40 00 50 00 31 00 38 |.1.7.,.  . at .P.1.8|
04c0 00 2c 00 20 00 40 00 50-00 31 00 39 00 2c 00 20 |.,. . at .P .1.9.,. |
04d0 00 40 00 50 00 32 00 30-00 2c 00 20 00 40 00 50 |. at .P.2.0 .,. . at .P|
04e0 00 32 00 31 00 29 00 0a-00 00 00 38 01 00 00 00 |.2.1.).. ...8....|

21:12:01.395862 Received header
0000 04 01 02 0e 00 38 01 00-                        |.....8..|

21:12:01.395884 Received packet
0000 aa 70 01 04 01 00 00 01-10 aa 00 44 00 69 00 73 |.p...... ...D.i.s|
0010 00 61 00 6c 00 6c 00 6f-00 77 00 65 00 64 00 20 |.a.l.l.o .w.e.d. |
0020 00 69 00 6d 00 70 00 6c-00 69 00 63 00 69 00 74 |.i.m.p.l .i.c.i.t|
0030 00 20 00 63 00 6f 00 6e-00 76 00 65 00 72 00 73 |. .c.o.n .v.e.r.s|
0040 00 69 00 6f 00 6e 00 20-00 66 00 72 00 6f 00 6d |.i.o.n.  .f.r.o.m|
0050 00 20 00 64 00 61 00 74-00 61 00 20 00 74 00 79 |. .d.a.t .a. .t.y|
0060 00 70 00 65 00 20 00 74-00 65 00 78 00 74 00 20 |.p.e. .t .e.x.t. |
0070 00 74 00 6f 00 20 00 64-00 61 00 74 00 61 00 20 |.t.o. .d .a.t.a. |
0080 00 74 00 79 00 70 00 65-00 20 00 6e 00 76 00 61 |.t.y.p.e . .n.v.a|
0090 00 72 00 63 00 68 00 61-00 72 00 2c 00 20 00 74 |.r.c.h.a .r.,. .t|
00a0 00 61 00 62 00 6c 00 65-00 20 00 27 00 49 00 66 |.a.b.l.e . .'.I.f|
00b0 00 53 00 48 00 5f 00 54-00 65 00 73 00 74 00 2e |.S.H._.T .e.s.t..|
00c0 00 64 00 62 00 6f 00 2e-00 70 00 6d 00 43 00 69 |.d.b.o.. .p.m.C.i|
00d0 00 74 00 65 00 27 00 2c-00 20 00 63 00 6f 00 6c |.t.e.'., . .c.o.l|
00e0 00 75 00 6d 00 6e 00 20-00 27 00 41 00 72 00 74 |.u.m.n.  .'.A.r.t|
00f0 00 69 00 63 00 6c 00 65-00 54 00 69 00 74 00 6c |.i.c.l.e .T.i.t.l|
0100 00 65 00 27 00 2e 00 20-00 55 00 73 00 65 00 20 |.e.'...  .U.s.e. |
0110 00 74 00 68 00 65 00 20-00 43 00 4f 00 4e 00 56 |.t.h.e.  .C.O.N.V|
0120 00 45 00 52 00 54 00 20-00 66 00 75 00 6e 00 63 |.E.R.T.  .f.u.n.c|
0130 00 74 00 69 00 6f 00 6e-00 20 00 74 00 6f 00 20 |.t.i.o.n . .t.o. |
0140 00 72 00 75 00 6e 00 20-00 74 00 68 00 69 00 73 |.r.u.n.  .t.h.i.s|
0150 00 20 00 71 00 75 00 65-00 72 00 79 00 2e 00 08 |. .q.u.e .r.y....|
0160 xx xx xx xx xx xx xx xx-xx xx xx xx xx xx xx xx |x.x.x.x. x.x.x.x.|
0170 00 02 00 aa 76 00 f4 1f-00 00 01 10 23 00 53 00 |....v... ....#.S.|
0180 74 00 61 00 74 00 65 00-6d 00 65 00 6e 00 74 00 |t.a.t.e. m.e.n.t.|
0190 28 00 73 00 29 00 20 00-63 00 6f 00 75 00 6c 00 |(.s.). . c.o.u.l.|
01a0 64 00 20 00 6e 00 6f 00-74 00 20 00 62 00 65 00 |d. .n.o. t. .b.e.|
01b0 20 00 70 00 72 00 65 00-70 00 61 00 72 00 65 00 | .p.r.e. p.a.r.e.|
01c0 64 00 xx xx xx xx xx xx-xx xx xx xx xx xx xx xx |d....x.x .x.x.x.x|
01d0 xx xx xx xx 00 0a 73 00-70 00 5f 00 70 00 72 00 |.x.x..s. p._.p.r.|
01e0 65 00 70 00 61 00 72 00-65 00 01 00 79 f4 1f 00 |e.p.a.r. e...y...|
01f0 00 ac 09 00 00 01 38 00-00 00 26 04 00 fe 02 00 |......8. ..&.....|
0200 e0 00 00 00 00 00      -                        |......|

21:12:01.396309 processing result tokens.  marker is  aa(ERROR)
21:12:01.396325 tds_process_default_tokens() marker is aa(ERROR)
21:12:01.396343 tds_get_string: reading 340 from wire to give 170 to
client.
21:12:01.396364 tds_get_string: reading 16 from wire to give 8 to
client.
21:12:01.396389 processing result tokens.  marker is  aa(ERROR)
21:12:01.396405 tds_process_default_tokens() marker is aa(ERROR)
21:12:01.396421 tds_get_string: reading 70 from wire to give 35 to
client.
21:12:01.396438 tds_get_string: reading 16 from wire to give 8 to
client.
21:12:01.396456 tds_get_string: reading 20 from wire to give 10 to
client.
21:12:01.396477 processing result tokens.  marker is  79(RETURNSTATUS)
21:12:01.396493 processing result tokens.  marker is  ac(PARAM)
21:12:01.396509 processing parameters for sp 11
21:12:01.396525 calling tds_process_param_result
21:12:01.396542 processing result. type = 38(integer-null), varint_size
1
21:12:01.396559 processing result. column_size 4
21:12:01.396575 processing row.  column is 0 varint size = 1
21:12:01.396591 processing row.  column size is 0 
21:12:01.396606 setting column 0 NULL bit
21:12:01.396622 no of hidden return parameters 1
21:12:01.396638 processing result tokens.  marker is  fe(DONEPROC)
21:12:01.396654 tds_process_end: more_results = 0
		was_cancelled = 0
		error = 1
		done_count_valid = 0
21:12:01.396670 tds_process_end() state set to TDS_IDLE
21:12:01.400043 Sending packet
0000 06 01 00 08 00 00 01 00-                        |........|

21:12:01.400359 Received header
0000 04 01 00 11 00 38 01 00-                        |.....8..|

21:12:01.400380 Received packet
0000 fd 20 00 fd 00 00 00 00-00                      |. ...... .|

21:12:01.400395 tds_process_end: more_results = 0
		was_cancelled = 1
		error = 0
		done_count_valid = 0
21:12:01.400434 tds_process_end() state set to TDS_IDLE
21:12:01.400455 SQLFreeHandle(3, 0x0x81c4688)
21:12:01.400493 tds_free_all_results()
21:12:01.400570 SQLFreeHandle(2, 0x0x81b8a78)




More information about the FreeTDS mailing list