[freetds] Inserting data into tables[Ce message a ete verifie]

Thompson, Bill D (London) bill_d_thompson at ml.com
Fri Nov 26 05:15:34 EST 2004


pascal,

The problem appears to the incorrect formation of the following SQL that
is being submitted.

SELECT lbl.LabelMultiLg_Id, lbl.LabelMultiLg_Txt   
FROM LabelMultiLg lbl,LoginParam l  
WHERE l.loginId              = :  
AND   l.UserParamID          = 'f3_langue'  
AND   lbl.LabelMultiLg_Lg    = l.LoginParamValue  
AND   isnull(lbl.LabelMultiLg_Include,0) = 1 

SQL server is objecting (quite rightly) to the first line of the where
clause....
I'd check the SQL you are sending...

Bill

-----Original Message-----
From: freetds-bounces at lists.ibiblio.org
[mailto:freetds-bounces at lists.ibiblio.org] On Behalf Of Pascal Miquet
Sent: 26 November 2004 10:06
To: 'FreeTDS Development Group'
Subject: RE: [freetds] Inserting data into tables[Ce message a ete
verifie]


Here is the content of the free TDC configuration file according to my
SQL
Server definition

[MSSqlServer]
        host = 192.168.5.21
        port = 1433
        tds version = 7.0
        dump file = /tmp/freetds.log
        dump file append = yes

And to make sure to get all the activity during the connection I've
removed
the log file before sending informations.

I've restarted all the stuff and got some funny things:

pid: 2000:10:41:01.927205 processing result tokens.  marker is
81(TDS7_RESULT)
pid: 2000:tds_get_string: reading 14 from wire to give 7 to client.
pid: 2000:10:41:01.927332 tds7_get_data_info:1451:
	colname = loginID (7 bytes)
	type = 56 (int)
	server's type = 56 (int)
	column_varint_size = 0
	column_size = 4 (4 on server)
pid: 2000:10:41:01.927398 processing result tokens.  marker is  d1(ROW)
pid: 2000:odbc:SQLColAttribute: fDescType is 1
pid: 2000:odbc:SQLColAttribute: fDescType is 2
pid: 2000:odbc:SQLColAttribute: fDescType is 6
pid: 2000:10:41:01.927663 processing row tokens.  marker is  d1(ROW)
pid: 2000:10:41:01.927721 processing row.  column is 0 varint size = 0
pid: 2000:10:41:01.927820 processing row.  column size is 4
pid: 2000:10:41:01.927872 clearing column 0 NULL bit
pid: 2000:convert_tds2sql: src is 56 dest = 1
pid: 2000:convert_tds2sql: outputting character data destlen = 1
pid: 2000:tds_submit_query(): state is PENDING
pid: 2000:10:41:01.928469 tds_client_msg: #20019: "Attempt to initiate a
new
SQL Server operation with results pending.".  Connection state is now 1.
pid: 2000:SQLFreeHandle(3, 0x91f0d80)
pid: 2000:SQLFreeHandle(3, 0x91e7790)
pid: 2000:Sending packet @ 10:41:01.929663
0000 06 01 00 08 00 00 01 00-                        |........|

And after I've got :

pid: 2002:10:41:02.172552 tds_put_string converting 128 bytes of "SELECT
lbl.LabelMultiLg_Id, lbl.LabelMultiLg_Txt   FROM LabelMultiLg lbl,
LoginParam l  WHERE l.loginId              = :  AND   l.UserParamID
= 'f3_langue'  AND   lbl.LabelMultiLg_Lg    = l.LoginParamValue  AND
isnull(lbl.LabelMultiLg_Include,0) = 1 "
pid: 2002:10:41:02.172632 tds_put_string converting 128 bytes of
"l.UserParamID          = 'f3_langue'  AND   lbl.LabelMultiLg_Lg    =
l.LoginParamValue  AND   isnull(lbl.LabelMultiLg_Include,0) = 1 "

pid: 2002:10:41:02.172744 tds_put_string wrote 522 bytes
pid: 2002:Sending packet @ 10:41:02.172797
0000 01 01 02 12 00 00 01 00-53 00 45 00 4c 00 45 00 |........ S.E.L.E.|
0010 43 00 54 00 20 00 6c 00-62 00 6c 00 2e 00 4c 00 |C.T. .l. b.l...L.|
0020 61 00 62 00 65 00 6c 00-4d 00 75 00 6c 00 74 00 |a.b.e.l. M.u.l.t.|
0030 69 00 4c 00 67 00 5f 00-49 00 64 00 2c 00 20 00 |i.L.g._. I.d.,. .|
0040 6c 00 62 00 6c 00 2e 00-4c 00 61 00 62 00 65 00 |l.b.l... L.a.b.e.|
0050 6c 00 4d 00 75 00 6c 00-74 00 69 00 4c 00 67 00 |l.M.u.l. t.i.L.g.|
0060 5f 00 54 00 78 00 74 00-20 00 20 00 20 00 46 00 |_.T.x.t.  . . .F.|
0070 52 00 4f 00 4d 00 20 00-4c 00 61 00 62 00 65 00 |R.O.M. . L.a.b.e.|
0080 6c 00 4d 00 75 00 6c 00-74 00 69 00 4c 00 67 00 |l.M.u.l. t.i.L.g.|
0090 20 00 6c 00 62 00 6c 00-2c 00 20 00 4c 00 6f 00 | .l.b.l. ,. .L.o.|
00a0 67 00 69 00 6e 00 50 00-61 00 72 00 61 00 6d 00 |g.i.n.P. a.r.a.m.|
00b0 20 00 6c 00 20 00 20 00-57 00 48 00 45 00 52 00 | .l. . . W.H.E.R.|
00c0 45 00 20 00 6c 00 2e 00-6c 00 6f 00 67 00 69 00 |E. .l... l.o.g.i.|
00d0 6e 00 49 00 64 00 20 00-20 00 20 00 20 00 20 00 |n.I.d. .  . . . .|
00e0 20 00 20 00 20 00 20 00-20 00 20 00 20 00 20 00 | . . . .  . . . .|
00f0 20 00 3d 00 20 00 3a 00-20 00 20 00 41 00 4e 00 | .=. .:.  . .A.N.|
0100 44 00 20 00 20 00 20 00-6c 00 2e 00 55 00 73 00 |D. . . . l...U.s.|
0110 65 00 72 00 50 00 61 00-72 00 61 00 6d 00 49 00 |e.r.P.a. r.a.m.I.|
0120 44 00 20 00 20 00 20 00-20 00 20 00 20 00 20 00 |D. . . .  . . . .|
0130 20 00 20 00 20 00 3d 00-20 00 27 00 66 00 33 00 | . . .=.  .'.f.3.|
0140 5f 00 6c 00 61 00 6e 00-67 00 75 00 65 00 27 00 |_.l.a.n. g.u.e.'.|
0150 20 00 20 00 41 00 4e 00-44 00 20 00 20 00 20 00 | . .A.N. D. . . .|
0160 6c 00 62 00 6c 00 2e 00-4c 00 61 00 62 00 65 00 |l.b.l... L.a.b.e.|
0170 6c 00 4d 00 75 00 6c 00-74 00 69 00 4c 00 67 00 |l.M.u.l. t.i.L.g.|
0180 5f 00 4c 00 67 00 20 00-20 00 20 00 20 00 3d 00 |_.L.g. .  . . .=.|
0190 20 00 6c 00 2e 00 4c 00-6f 00 67 00 69 00 6e 00 | .l...L. o.g.i.n.|
01a0 50 00 61 00 72 00 61 00-6d 00 56 00 61 00 6c 00 |P.a.r.a. m.V.a.l.|
01b0 75 00 65 00 20 00 20 00-41 00 4e 00 44 00 20 00 |u.e. . . A.N.D. .|
01c0 20 00 20 00 69 00 73 00-6e 00 75 00 6c 00 6c 00 | . .i.s. n.u.l.l.|
01d0 28 00 6c 00 62 00 6c 00-2e 00 4c 00 61 00 62 00 |(.l.b.l. ..L.a.b.|
01e0 65 00 6c 00 4d 00 75 00-6c 00 74 00 69 00 4c 00 |e.l.M.u. l.t.i.L.|
01f0 67 00 5f 00 49 00 6e 00-63 00 6c 00 75 00 64 00 |g._.I.n. c.l.u.d.|
0200 65 00 2c 00 30 00 29 00-20 00 3d 00 20 00 31 00 |e.,.0.).  .=. .1.|
0210 20 00                  -                        | .|


pid: 2002:Received header @ 10:41:02.174069
0000 04 01 00 78 00 33 01 00-                        |...x.3..|


pid: 2002:Received packet @ 10:41:02.174152
0000 aa 64 00 aa 00 00 00 01-0f 22 00 4c 00 69 00 6e |.d...... .".L.i.n|
0010 00 65 00 20 00 31 00 3a-00 20 00 49 00 6e 00 63 |.e. .1.: . .I.n.c|
0020 00 6f 00 72 00 72 00 65-00 63 00 74 00 20 00 73 |.o.r.r.e .c.t. .s|
0030 00 79 00 6e 00 74 00 61-00 78 00 20 00 6e 00 65 |.y.n.t.a .x. .n.e|
0040 00 61 00 72 00 20 00 27-00 3a 00 27 00 2e 00 0a |.a.r. .' .:.'....|
0050 50 00 43 00 5f 00 50 00-4d 00 49 00 51 00 55 00 |P.C._.P. M.I.Q.U.|
0060 45 00 54 00 00 01 00 fd-02 00 fd 00 17 00 00 00 |E.T..... ........|


pid: 2002:10:41:02.174350 processing result tokens.  marker is
aa(ERROR)
pid: 2002:10:41:02.174404 tds_process_default_tokens() marker is
aa(ERROR)
pid: 2002:tds_get_string: reading 68 from wire to give 34 to client.
pid: 2002:tds_get_string: reading 20 from wire to give 10 to client.
pid: 2002:10:41:02.174573 processing result tokens.  marker is  fd(DONE)
pid: 2002:10:41:02.174626 tds_process_end: more_results = 0
		was_cancelled = 0
		error = 1
		done_count_valid = 0
pid: 2002:10:41:02.174683 tds_process_end() state set to TDS_IDLE
pid: 2002:SQLFreeHandle(3, 0x925ec30)
pid: 2002:SQLFreeHandle(3, 0x924e170)


Regards

-----Message d'origine-----
De : freetds-bounces at lists.ibiblio.org
[mailto:freetds-bounces at lists.ibiblio.org]De la part de James K. Lowden
Envoye : vendredi 26 novembre 2004 06:51
A : FreeTDS Development Group
Objet : Re: [freetds] Inserting data into tables[Ce message a ete
verifie]


"Pascal Miquet" <p.miquet at hafiba.fr> wrote:
> Sorry, but this is the only things I got into the freeTDS log.
> Is there any options to activate ?

Oh, I see.  I'm sorry too, then.  I thought you sent a small portion of
the log to preserve your data's privacy.

I think you probably want to set "dump file append = yes" in
freetds.conf.
 Otherwise, each *connection* to the database re-opens the log file.  On
a
web server in particular, this causes a lot of information to be lost as
concurrent sessions overwrite the log.  (It's something we'd like to
fix,
but haven't yet.)

A good log will begin something like:

	Starting log file for FreeTDS 0.63.dev.20040430
        on 2004-05-01 13:31:41 with debug level 99.

Beware that the above setting will make your log grow indefinitely.

HTH.

--jkl

> -----Message d'origine-----
> De : freetds-bounces at lists.ibiblio.org
> [mailto:freetds-bounces at lists.ibiblio.org]De la part de Lowden, James
K
> Envoye : mercredi 24 novembre 2004 16:28
> A : FreeTDS Development Group
> Objet : RE: [freetds] Inserting data into tables[Ce message a ete
> verifie]
>
>
> > From: Pascal Miquet
> > Sent: Wednesday, November 24, 2004 2:50 AM
> >
> > pid: 1783:tds_get_string: reading 68 from wire to give 34 to client.
> > pid: 1783:tds_get_string: reading 20 from wire to give 10 to client.
> > pid: 1783:08:48:32.135486 processing result tokens.  marker is
> fd(DONE)
> > pid: 1783:08:48:32.135542 tds_process_end: more_results = 0
> >                 was_cancelled = 0
> >                 error = 1
> >                 done_count_valid = 0
> > pid: 1783:08:48:32.135600 tds_process_end() state set to TDS_IDLE
> > pid: 1783:SQLFreeHandle(3, 0xa1b39a0)
> > pid: 1783:SQLFreeHandle(3, 0xa1a3130)
>
> Pascal, give us enough to help you!  I asked for the log, not just 10
> lines of it!
>
> If you don't want to post the whole thing, just post the end, starting
> with the last line that looks like "13:40:07.147239 Sending packet".
> I'd like to see the whole packet sent, and the server's complete
> response.  You don't usually get "error = 1" without something else
> arriving first.
>
> Also, for the record, what version of FreeTDS?
>
> Regards,
>
> --jkl
>
> > -----Message d'origine-----
> > De : freetds-bounces at lists.ibiblio.org
> > [mailto:freetds-bounces at lists.ibiblio.org]De la part de James K.
> Lowden
> > Envoye : mercredi 24 novembre 2004 08:10
> > A : FreeTDS Development Group
> > Objet : Re: [freetds] Inserting data into tables[Ce message a ete
> > verifie]
> >
> >
> > "Pascal Miquet" <p.miquet at hafiba.fr> wrote:
> > >
> > > I was wrong with my affirmation. Using the isql stuff data are
> correctly
> > > inserted.
> >
> > Well, that's good, actually.  ;-)
> >
> > > But using PHP with ODBC connection, the stuff isn't correct and
I've
> got
> > > a warning.
> > > According many reading, I thought that the error reported should
be
> on a
> > > 6 digit code, but the PHP error log give me a warning with a state
> of
> > > 00000, and the insert command is not done.
> > >
> > > Any Idea to make tests ?
> >
> > It's hard to say, without seeing the text of the messages you're
> getting.
> >
> >
> > Now that we know the server is OK, the answer probably lies in the
> > application logic.  Perhaps you didn't finish reading your results
> before
> > issuing the INSERT statement?  Still, in that case, you should have
> seen a
> > message from the server (or even from FreeTDS itself).
> >
> > If you can post a TDSDUMP log of the session, I think that will make
> the
> > situation much clearer.
> >
> > --jkl
> >
> >
> > > Regards
> > >
> > > -----Message d'origine-----
> > > De : freetds-bounces at lists.ibiblio.org
> > > [mailto:freetds-bounces at lists.ibiblio.org]De la part de James K.
> Lowden
> > > Envoye : mercredi 24 novembre 2004 07:18
> > > A : FreeTDS Development Group
> > > Objet : Re: [freetds] Inserting data into tables[Ce message a ete
> > > verifie]
> > >
> > >
> > > "Pascal Miquet" <p.miquet at hafiba.fr> wrote:
> > > > Thanks for your reply, but the insert command is issued into the
> isql
> > > > interface.
> > > > The command is something like
> > > > INSERT LOG(EventId,loginID) VALUES ('1','155')
> > > >
> > > > I've also validate the dump of freeTDS into a log file, and see
> > > > nothing special.
> > >
> > > Please post the TDSDUMP log.  I don't see how it could be anything
> > > except server-side, but the log should show evidence of the
> rejection,
> > > and why.
> > >
> > > I would be good if the SQL were something like:
> > >
> > > INSERT LOG(EventId,loginID) VALUES ('1','155')
> > > SELECT EventId,loginID from LOG where EventID = 1
> > >
> > > --jkl
> > >
> > >
> > >
> > > > -----Message d'origine-----
> > > > De : freetds-bounces at lists.ibiblio.org
> > > > [mailto:freetds-bounces at lists.ibiblio.org]De la part de Lowden,
> James
> > > > K Envoye : mardi 23 novembre 2004 16:13
> > > > A : FreeTDS Development Group
> > > > Objet : RE: [freetds] Inserting data into tables[Ce message a
ete
> > > > verifie]
> > > >
> > > >
> > > > > From: Pascal Miquet
> > > > > Sent: Tuesday, November 23, 2004 10:05 AM
> > > > >
> > > > > I've configured freeTDS to be used with the unixODBC to
connect
> to
> > > > > an
> > > > MS SQL
> > > > > server.
> > > > > If I use the isql interface to issue some SELECT commands, all
> > > > > return
> > > > are
> > > > > correct.
> > > > > BUT I can't issue an ISNERT command.
> > > > > The result is "SQLRowCount returns -1"
> > > > > Is there some flags to allow freeTDS to issue such INSERT
> commands ?
> > > >
> > > > If you're issuing SQL text like "insert T values ('a', 'b')",
> FreeTDS
> > > > is only conveying the SQL to the server (there's nothing special
> about
> > > > INSERT).  If the row isn't inserted, there's a problem with
> > > > permissions or the data, or you've violated the "process all
> results"
> > > > rule in your application.
> > > >
> > > > I suggest you try the command with isql or tsql to see if you
get
> a
> > > > more useful error message.
> > > >
> > > > HTH.
> > > >
> > > > --jkl
>
> -----------------------------------------
> The information contained in this transmission may contain privileged
> and confidential information and is intended only for the use of the
> person(s) named above. If you are not the intended recipient, or an
> employee or agent responsible for delivering this message to the
> intended recipient, any review, dissemination, distribution or
> duplication of this communication is strictly prohibited. If you are
not
> the intended recipient, please contact the sender immediately by reply
> e-mail and destroy all copies of the original message. Please note
that
> we do not accept account orders and/or instructions by e-mail, and
> therefore will not be responsible for carrying out such orders and/or
> instructions. If you, as the intended recipient of this message, the
> purpose of which is to inform and update our clients, prospects and
> consultants of developments relating to our services and products,
would
> not like to receive further e-mail correspondence from the sender,
> please "reply" to the sender indicating your wishes.  In the U.S.:
1345
> Avenue of the Americas, New York, NY 10105.
>
>
> _______________________________________________
> 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



_______________________________________________
FreeTDS mailing list
FreeTDS at lists.ibiblio.org
http://lists.ibiblio.org/mailman/listinfo/freetds 
--------------------------------------------------------
 
If you are not an intended recipient of this e-mail, please notify the sender, delete it and do not read, act upon, print, disclose, copy, retain or redistribute it. Click here for important additional terms relating to this e-mail.     http://www.ml.com/email_terms/ 
--------------------------------------------------------
 



More information about the FreeTDS mailing list