Skip to Content.
Sympa Menu

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

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: "Pascal Miquet" <p.miquet AT hafiba.fr>
  • To: "'FreeTDS Development Group'" <freetds AT lists.ibiblio.org>
  • Subject: RE: [freetds] Inserting data into tables[Ce message a ete verifie]
  • Date: Fri, 26 Nov 2004 11:05:58 +0100

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







Archive powered by MHonArc 2.6.24.

Top of Page