Skip to Content.
Sympa Menu

freetds - Re: [freetds] SELECT @@IDENTITY AS InsertID

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: Igor Korot <ikorot AT earthlink.net>
  • To: s.craig AT andronics.com, FreeTDS Development Group <freetds AT lists.ibiblio.org>, s.craig AT andronics.com, FreeTDS Development Group <freetds AT lists.ibiblio.org>
  • Subject: Re: [freetds] SELECT @@IDENTITY AS InsertID
  • Date: Tue, 15 Nov 2005 17:13:43 -0500 (EST)

Shaun,
Maybe its just a lock issue?

Thank you.

-----Original Message-----
From: Shaun Craig <s.craig AT andronics.com>
Sent: Nov 15, 2005 10:00 AM
To: s.craig AT andronics.com, FreeTDS Development Group
<freetds AT lists.ibiblio.org>
Subject: Re: [freetds] SELECT @@IDENTITY AS InsertID

A bit more debug. I found that 2 inserts done on seperate pool
connections at the same time returned the wrong identity for 1 insert
that had @@IDENTITY, the Identity returned belonged to the other insert
that had no @@IDENTITY statement.

To understand whats happening I will explain the system and how it
works: Platform: Linux, Programming in C, Database: ms sql server 7

* Receive data(Events) via socket, can receive multiple 'Events' at
same time.
* Each event has its own server program which will grab a pool
connection and do inserts/updates/selects etc until completed and
return connection to pool.

What i seen happen was 2 'Events' hit our socket at same time, so 2
server programs would have been created, each would grab a pool
connection. One of these 'Events' had an @@IDENTITY statement after
insert and the other had none. What happened was the 'Event' that had
the @@IDENTITY returned the Identity of the Insert of the 'Event' that
didn't have the @@IDENTITY statement. Am I making sense.

Explained:

'Event1'
INSERT

'Event2'
INSERT.....SELECT @@IDENTITY

'Event1' Identity - checked in Table = 19488675

'Event2' Identity - checked in Table = 19488676, but @@IDENTITY returned
value = 19488675

As you can see the @@IDENTITY doesn't belong to that 'Event' but the
first event that didn't have @@IDENTITY in the statement.

Can anyone think of what may have happened?

Thanks.

Shaun.

Shaun Craig wrote:

>Right have my message/error handlers are in and working, know they're
>working as I got this
>
>'Msg 195, Level 15, State 10 - |IDENT_CURRENT| is not a recognized
>function name.'
>
>So did a bit of research and found that IDENT_CURRENT, SCOPE_IDENTITY()
>came in with ms sql 2000, I'm working of ms sql server 7.0 which only
>has @@IDENTITY. This is going to cause problems then, what is my best
>option, remove the trigger?
>
>Shaun.
>
>Pickett, David wrote:
>
>
>
>>OOPS! Reading that URL again, it does not describe any way to get the last
>>identity of a specific table in the current scope!
>>
>>(I have never liked identity columns -- I like to know what I am inserting
>>ahead of time, and there are a myriad of ways to achieve uniqueness, many of
>>them using real world, application-relevant data.)
>>
>>Best regards,
>>
>>David
>>
>>-----Original Message-----
>>From: Pickett, David
>>Sent: Thursday, November 10, 2005 9:39 AM
>>To: 'FreeTDS Development Group'
>>Subject: Re: [freetds] SELECT @@IDENTITY AS InsertID
>>
>>
>>Maybe he wants SCOPE_IDENTITY() to just see his own?:
>>
>>
>>http://msdn.microsoft.com/library/default.asp?url=/library/en-us/tsqlref/ts_
>>ia-iz_82i1.asp
>>
>>-----Original Message-----
>>From: Rogers, Tom [mailto:tom.rogers AT ccur.com]
>>Sent: Thursday, November 10, 2005 9:35 AM
>>To: s.craig AT andronics.com; FreeTDS Development Group
>>Subject: Re: [freetds] SELECT @@IDENTITY AS InsertID
>>
>>
>>If the table you are inserting into has an insert trigger and that insert
>>trigger inserts into another table with an identity column than you can rest
>>assured that you will NOT get back the identity of the FIRST table with
>>SELECT @@IDENTITY.
>>
>>To overcome this problem, Microsoft supplied the IDENT_CURRENT() function.
>>Use the SQL Books Online for its documentation, but for the most part you
>>use it JUST like @@IDENTITY, but it has a single parameter to the function,
>>which is the name of the table you want to get the last identity id from:
>>
>>e.g.
>>
>> SELECT IDENT_CURRENT('MyTable')
>>
>>Thomas Rogers
>>System Engineer
>>Concurrent Computer Corporation
>>
>>
>>
>>
>>>phone: 215.712.7422 x7261
>>>
>>>
>>>
>>>
>>>
>>>
>>The information contained herein is proprietary and confidential and should
>>be treated in accordance with the Non-Disclosure Agreement and any
>>Amendments to said Agreement executed between the discloser and recipient.
>>If the reader of this message is not the intended recipient, you are hereby
>>notified that any dissemination, distribution, or copy of this information
>>is strictly prohibited. If you have received this information in error,
>>please immediately notify discloser, and then destroy the information
>>contained herein. Thank you.
>>
>>
>>-----Original Message-----
>>From: freetds-bounces AT lists.ibiblio.org
>>[mailto:freetds-bounces AT lists.ibiblio.org]On Behalf Of Shaun Craig
>>Sent: Thursday, November 10, 2005 9:28 AM
>>To: Rogers, Tom; FreeTDS Development Group
>>Subject: Re: [freetds] SELECT @@IDENTITY AS InsertID
>>
>>
>>Thanks for all the input guys,
>>
>>The table I'm inserting to does have an insert trigger to another table
>>although i dont think this is the value i got back. I know this as the
>>trigger insert can only be done on a value between 100-2000 and the
>>number i get is way above that.
>>
>>I'm currently working on something else thats holding me back from
>>getting stuck into this. What happened and at present i dont know if it
>>was a one off or happens regularly is that an insert into table followed
>>by select identity on a single pool connection was returning a different
>>identity to that of the inserted record, as i dont have any
>>error/message handlers in this could be down to my code, when i get the
>>handlers in and get testing i should know more.
>>
>>Will let you know the results.
>>
>>Shaun.
>>
>>Rogers, Tom wrote:
>>
>>
>>
>>
>>
>>>Sorry if this has already come up, but the CLASSIC problem that causes this
>>>
>>>
>>>
>>>
>>is you have an insert trigger on the table you are inserting into and that
>>trigger ends up inserting into another table and what you are getting is the
>>identity id of that last table inserted into.
>>
>>
>>
>>
>>>Could that be happening?
>>>
>>>Thomas Rogers
>>>System Engineer
>>>Concurrent Computer Corporation
>>>
>>>
>>>
>>>
>>>
>>>
>>>>phone: 215.712.7422 x7261
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>The information contained herein is proprietary and confidential and should
>>>
>>>
>>>
>>>
>>be treated in accordance with the Non-Disclosure Agreement and any
>>Amendments to said Agreement executed between the discloser and recipient.
>>If the reader of this message is not the intended recipient, you are hereby
>>notified that any dissemination, distribution, or copy of this information
>>is strictly prohibited. If you have received this information in error,
>>please immediately notify discloser, and then destroy the information
>>contained herein. Thank you.
>>
>>
>>
>>
>>>-----Original Message-----
>>>From: freetds-bounces AT lists.ibiblio.org
>>>[mailto:freetds-bounces AT lists.ibiblio.org]On Behalf Of Shaun Craig
>>>Sent: Thursday, November 03, 2005 7:07 AM
>>>To: FreeTDS Development Group
>>>Subject: Re: [freetds] SELECT @@IDENTITY AS InsertID
>>>
>>>
>>>Thought everything was rosy with this but its not! I'm having a small
>>>problem where the insertid i get back is incorrect, i think that the
>>>value is not actually returned and the value i get is a memory value. I
>>>have not used any error handlers before with freetds, if someone could
>>>give us the code i could probably find out whats wrong.
>>>
>>>Code example, take for granted I called the following before the snipet
>>>below
>>>DBINT InsertID;
>>>int journey_insert_id //global program variable
>>>etc...
>>>dbcmd()
>>>dbsqlexec()
>>>dbresults()
>>>
>>>if ( strstr(statements[z],"SELECT @@IDENTITY AS InsertID") != NULL)
>>> {
>>> if (SUCCEED != dbbind(dbconn, 1, INTBIND, (DBINT)0, (BYTE
>>>*)& InsertID))
>>> {
>>> if (error_level > 0)
>>> LogError(GPRS_ERR,15,"Insert", "myDBQuery(), Could
>>>Not Bind JourneyInsetID","fail");
>>> return -1;
>>> }
>>>
>>> while ( dbnextrow(dbconn) != NO_MORE_ROWS) // no error
>>>handling here which probably where my problem is
>>> {
>>> journey_insert_id = InsertID;
>>> }
>>> }
>>>
>>>Hope someone can help me out as I have to get this sorted before
>>>christmas, then its off to Australia for a year!
>>>
>>>Thanks,
>>>
>>>Shaun.
>>>
>>>Shaun Craig wrote:
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>>Finally got the insertid back from my insert, I just tinkered around
>>>>with the code I had and eventually got it back.
>>>>
>>>>Thanks to all who helped me on it.
>>>>
>>>>Shaun.
>>>>
>>>>Shaun Craig wrote:
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>>Just realised my tdsdump file wasn't attached to email yesterday, so
>>>>>here it is.
>>>>>
>>>>>util.c:269:Starting log file for FreeTDS 0.64.dev.20050228
>>>>> on 2005-10-12 09:31:17 with debug flags 0x4fff.
>>>>>iconv.c:364:iconv to convert client-side data to the "ISO-8859-1"
>>>>>character set
>>>>>iconv.c:517:tds_iconv_info_init: converting "ISO-8859-1"->"UCS-2LE"
>>>>>net.c:150:Connecting to 127.0.0.1 port 5000.
>>>>>net.c:650:Sending packet
>>>>>0000 02 00 02 00 00 00 00 00-73 76 72 2d 73 75 73 65 |........ svr-suse|
>>>>>0010 2d 31 38 00 00 00 00 00-00 00 00 00 00 00 00 00 |-18..... ........|
>>>>>0020 00 00 00 00 00 00 0b 73-61 00 00 00 00 00 00 00 |.......***.......|
>>>>>0030 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |........ ........|
>>>>>0040 00 00 00 00 00 02 72 75-6c 65 72 00 00 00 00 00 |......******.....|
>>>>>0050 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |........ ........|
>>>>>0060 00 00 00 00 05 33 37 38-37 36 00 00 00 00 00 00 |.....378 76......|
>>>>>0070 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |........ ........|
>>>>>0080 00 00 00 05 03 01 06 0a-09 01 00 00 00 00 02 00 |........ ........|
>>>>>0090 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |........ ........|
>>>>>00a0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |........ ........|
>>>>>00b0 00 00 00 6d 79 70 6f 6f-6c 00 00 00 00 00 00 00 |...mypoo l.......|
>>>>>00c0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |........ ........|
>>>>>00d0 00 06 72 75 6c 65 72 00-00 00 00 00 00 00 00 00 |..*****. ........|
>>>>>00e0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |........ ........|
>>>>>00f0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |........ ........|
>>>>>0100 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |........ ........|
>>>>>0110 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |........ ........|
>>>>>0120 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |........ ........|
>>>>>0130 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |........ ........|
>>>>>0140 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |........ ........|
>>>>>0150 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |........ ........|
>>>>>0160 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |........ ........|
>>>>>0170 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |........ ........|
>>>>>0180 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |........ ........|
>>>>>0190 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |........ ........|
>>>>>01a0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |........ ........|
>>>>>01b0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |........ ........|
>>>>>01c0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |........ ........|
>>>>>01d0 00 05 04 02 00 00 44 42-2d 4c 69 62 72 61 72 79 |......DB -Library|
>>>>>01e0 0a 00 00 00 00 00 0d 11-75 73 5f 65 6e 67 6c 69 |........ us_engli|
>>>>>01f0 73 68 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |sh...... ........|
>>>>>
>>>>>net.c:650:Sending packet
>>>>>0000 02 01 00 4c 00 00 00 00-00 00 00 00 00 00 0a 00 |...L.... ........|
>>>>>0010 00 00 00 00 00 00 00 00-00 00 00 00 00 69 73 6f |........ .....iso|
>>>>>0020 5f 31 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |_1...... ........|
>>>>>0030 00 00 00 00 00 00 00 00-00 00 00 05 01 35 31 32 |........ .....512|
>>>>>0040 00 00 00 03 00 00 00 00-00 00 00 00 |........ ....|
>>>>>
>>>>>token.c:317:tds_process_login_tokens()
>>>>>net.c:437:Received header
>>>>>0000 04 01 00 dc 00 00 00 00- |........|
>>>>>
>>>>>net.c:531:Received packet
>>>>>0000 e3 14 00 01 0b 4c 65 6f-63 61 74 65 54 65 73 74 |.....Leo cateTest|
>>>>>0010 06 6d 61 73 74 65 72 ab-3e 00 45 16 00 00 02 0a |.master. >.E.....|
>>>>>0020 2a 00 43 68 61 6e 67 65-64 20 64 61 74 61 62 61 |*.Change d databa|
>>>>>0030 73 65 20 63 6f 6e 74 65-78 74 20 74 6f 20 27 4c |se conte xt to 'L|
>>>>>0040 65 6f 63 61 74 65 54 65-73 74 27 2e 04 4a 44 42 |eocateTe st'..JDB|
>>>>>0050 43 05 5a 5a 5a 5a 5a 01-00 e3 0d 00 02 0a 75 73 |C.ZZZZZ. ......us|
>>>>>0060 5f 65 6e 67 6c 69 73 68-00 ab 3d 00 47 16 00 00 |_english ..=.G...|
>>>>>0070 01 0a 29 00 43 68 61 6e-67 65 64 20 6c 61 6e 67 |..).Chan ged lang|
>>>>>0080 75 61 67 65 20 73 65 74-74 69 6e 67 20 74 6f 20 |uage set ting to |
>>>>>0090 27 75 73 5f 65 6e 67 6c-69 73 68 27 2e 04 4a 44 |'us_engl ish'..JD|
>>>>>00a0 42 43 05 5a 5a 5a 5a 5a-01 00 e3 07 00 04 04 31 |BC.ZZZZZ .......1|
>>>>>00b0 30 32 34 00 ad 14 00 05-05 00 00 00 0a 73 71 6c |024..... .....sql|
>>>>>00c0 20 73 65 72 76 65 72 01-00 00 01 fd 00 00 02 00 | server. ........|
>>>>>00d0 01 00 00 00 - |....|
>>>>>
>>>>>token.c:321:looking for login token, got e3(ENVCHANGE)
>>>>>token.c:106:tds_process_default_tokens() marker is e3(ENVCHANGE)
>>>>>read.c:178:tds_get_string: reading 11 from wire to give 11 to client.
>>>>>read.c:178:tds_get_string: reading 6 from wire to give 6 to client.
>>>>>token.c:321:looking for login token, got ab(INFO)
>>>>>token.c:106:tds_process_default_tokens() marker is ab(INFO)
>>>>>token.c:2640:tds_process_msg() reading message from server
>>>>>read.c:178:tds_get_string: reading 42 from wire to give 42 to client.
>>>>>read.c:178:tds_get_string: reading 4 from wire to give 4 to client.
>>>>>read.c:178:tds_get_string: reading 5 from wire to give 5 to client.
>>>>>token.c:2702:tds_process_msg() calling client msg handler
>>>>>token.c:2715:tds_process_msg() returning TDS_SUCCEED
>>>>>token.c:321:looking for login token, got e3(ENVCHANGE)
>>>>>token.c:106:tds_process_default_tokens() marker is e3(ENVCHANGE)
>>>>>read.c:178:tds_get_string: reading 10 from wire to give 10 to client.
>>>>>token.c:321:looking for login token, got ab(INFO)
>>>>>token.c:106:tds_process_default_tokens() marker is ab(INFO)
>>>>>token.c:2640:tds_process_msg() reading message from server
>>>>>read.c:178:tds_get_string: reading 41 from wire to give 41 to client.
>>>>>read.c:178:tds_get_string: reading 4 from wire to give 4 to client.
>>>>>read.c:178:tds_get_string: reading 5 from wire to give 5 to client.
>>>>>token.c:2702:tds_process_msg() calling client msg handler
>>>>>token.c:2715:tds_process_msg() returning TDS_SUCCEED
>>>>>token.c:321:looking for login token, got e3(ENVCHANGE)
>>>>>token.c:106:tds_process_default_tokens() marker is e3(ENVCHANGE)
>>>>>read.c:178:tds_get_string: reading 4 from wire to give 4 to client.
>>>>>token.c:2528:increasing block size from to 1024
>>>>>token.c:321:looking for login token, got ad(LOGINACK)
>>>>>read.c:178:tds_get_string: reading 10 from wire to give 10 to client.
>>>>>token.c:321:looking for login token, got fd(DONE)
>>>>>token.c:106:tds_process_default_tokens() marker is fd(DONE)
>>>>>token.c:2344:tds_process_end: more_results = 0
>>>>> was_cancelled = 0
>>>>> error = 0
>>>>> done_count_valid = 0
>>>>>token.c:2360:tds_process_end() state set to TDS_IDLE
>>>>>util.c:125:Changing query state from TDS_IDLE to TDS_IDLE
>>>>>token.c:394:leaving tds_process_login_tokens() returning 1
>>>>>util.c:125:Changing query state from TDS_IDLE to TDS_QUERYING
>>>>>mem.c:453:tds_free_all_results()
>>>>>util.c:125:Changing query state from TDS_QUERYING to TDS_PENDING
>>>>>net.c:650:Sending packet
>>>>>0000 01 01 00 1b 00 00 00 00-73 65 74 20 74 65 78 74 |........ set text|
>>>>>0010 73 69 7a 65 20 36 34 35-31 32 20 |size 645 12 |
>>>>>
>>>>>util.c:125:Changing query state from TDS_PENDING to TDS_READING
>>>>>net.c:437:Received header
>>>>>0000 04 01 00 11 00 00 00 00- |........|
>>>>>
>>>>>net.c:531:Received packet
>>>>>0000 fd 00 00 be 00 00 00 00-00 |........ .|
>>>>>
>>>>>token.c:526:processing result tokens. marker is fd(DONE)
>>>>>token.c:2344:tds_process_end: more_results = 0
>>>>> was_cancelled = 0
>>>>> error = 0
>>>>> done_count_valid = 0
>>>>>token.c:2360:tds_process_end() state set to TDS_IDLE
>>>>>util.c:125:Changing query state from TDS_READING to TDS_IDLE
>>>>>util.c:125:Changing query state from TDS_IDLE to TDS_PENDING
>>>>>token.c:514:tds_process_result_tokens() state is COMPLETED
>>>>>dblib.c:1138:dbuse()
>>>>>dblib.c:1054:dbcmd() bufsz = 0
>>>>>dblib.c:1104:in dbsqlexec()
>>>>>dblib.c:5818:in dbsqlsend()
>>>>>util.c:125:Changing query state from TDS_IDLE to TDS_QUERYING
>>>>>mem.c:453:tds_free_all_results()
>>>>>util.c:125:Changing query state from TDS_QUERYING to TDS_PENDING
>>>>>net.c:650:Sending packet
>>>>>0000 01 01 00 13 00 00 00 00-75 73 65 20 4c 65 6f 63 |........ use Leoc|
>>>>>0010 61 74 65 - |ate|
>>>>>
>>>>>dblib.c:4005:in dbsqlok()
>>>>>net.c:437:Received header
>>>>>0000 04 01 00 63 00 00 00 00- |...c....|
>>>>>
>>>>>net.c:531:Received packet
>>>>>0000 e3 11 00 01 07 4c 65 6f-63 61 74 65 07 4c 65 6f |.....Leo cate.Leo|
>>>>>0010 63 61 74 65 ab 3b 00 45-16 00 00 01 00 26 00 43 |cate.;.E .....&.C|
>>>>>0020 68 61 6e 67 65 64 20 64-61 74 61 62 61 73 65 20 |hanged d atabase |
>>>>>0030 63 6f 6e 74 65 78 74 20-74 6f 20 27 4c 65 6f 63 |context to 'Leoc|
>>>>>0040 61 74 65 27 2e 09 53 51-4c 53 45 52 56 45 52 00 |ate'..SQ LSERVER.|
>>>>>0050 01 00 fd 00 00 e2 00 00-00 00 00 |........ ...|
>>>>>
>>>>>dblib.c:4024:dbsqlok() marker is e3
>>>>>util.c:125:Changing query state from TDS_PENDING to TDS_READING
>>>>>token.c:526:processing result tokens. marker is e3(ENVCHANGE)
>>>>>token.c:106:tds_process_default_tokens() marker is e3(ENVCHANGE)
>>>>>read.c:178:tds_get_string: reading 7 from wire to give 7 to client.
>>>>>read.c:178:tds_get_string: reading 7 from wire to give 7 to client.
>>>>>token.c:526:processing result tokens. marker is ab(INFO)
>>>>>token.c:106:tds_process_default_tokens() marker is ab(INFO)
>>>>>token.c:2640:tds_process_msg() reading message from server
>>>>>read.c:178:tds_get_string: reading 38 from wire to give 38 to client.
>>>>>read.c:178:tds_get_string: reading 9 from wire to give 9 to client.
>>>>>token.c:2702:tds_process_msg() calling client msg handler
>>>>>token.c:2715:tds_process_msg() returning TDS_SUCCEED
>>>>>token.c:526:processing result tokens. marker is fd(DONE)
>>>>>token.c:2344:tds_process_end: more_results = 0
>>>>> was_cancelled = 0
>>>>> error = 0
>>>>> done_count_valid = 0
>>>>>token.c:2360:tds_process_end() state set to TDS_IDLE
>>>>>util.c:125:Changing query state from TDS_READING to TDS_IDLE
>>>>>util.c:125:Changing query state from TDS_IDLE to TDS_PENDING
>>>>>dblib.c:4070:dbsqlok() end status was success
>>>>>dblib.c:1288:dbresults()
>>>>>token.c:897:tds_process_row_tokens() state is COMPLETED
>>>>>dblib.c:1054:dbcmd() bufsz = 12
>>>>>dblib.c:5007:in dbfreebuf()
>>>>>dblib.c:1104:in dbsqlexec()
>>>>>dblib.c:5818:in dbsqlsend()
>>>>>util.c:125:Changing query state from TDS_IDLE to TDS_QUERYING
>>>>>mem.c:453:tds_free_all_results()
>>>>>util.c:125:Changing query state from TDS_QUERYING to TDS_PENDING
>>>>>net.c:650:Sending packet
>>>>>0000 01 01 00 ed 00 00 00 00-49 4e 53 45 52 54 20 49 |........ INSERT I|
>>>>>0010 4e 54 4f 20 4a 6f 75 72-6e 65 79 20 28 4a 6f 75 |NTO Jour ney (Jou|
>>>>>0020 72 6e 65 79 53 74 61 72-74 54 69 6d 65 2c 53 74 |rneyStar tTime,St|
>>>>>0030 61 72 74 4c 61 74 69 74-75 64 65 2c 53 74 61 72 |artLatit ude,Star|
>>>>>0040 74 4c 6f 6e 67 69 74 75-64 65 2c 4f 64 6f 6d 65 |tLongitu de,Odome|
>>>>>0050 74 65 72 53 74 61 72 74-2c 56 65 68 69 63 6c 65 |terStart ,Vehicle|
>>>>>0060 49 44 29 20 56 41 4c 55-45 53 20 28 43 4f 4e 56 |ID) VALU ES (CONV|
>>>>>0070 45 52 54 28 44 61 74 65-54 69 6d 65 2c 27 32 34 |ERT(Date Time,'24|
>>>>>0080 20 41 75 67 75 73 74 20-32 30 30 35 20 31 37 3a | August 2005 17:|
>>>>>0090 30 34 3a 34 39 27 29 2c-43 4f 4e 56 45 52 54 28 |04:49'), CONVERT(|
>>>>>00a0 66 6c 6f 61 74 2c 27 35-33 2e 33 30 39 37 32 30 |float,'5 3.309720|
>>>>>00b0 27 29 2c 43 4f 4e 56 45-52 54 28 66 6c 6f 61 74 |'),CONVE RT(float|
>>>>>00c0 2c 27 2d 32 2e 37 30 33-34 33 39 27 29 2c 43 4f |,'-2.703 439'),CO|
>>>>>00d0 4e 56 45 52 54 28 69 6e-74 2c 27 31 31 36 32 35 |NVERT(in t,'11625|
>>>>>00e0 35 33 34 27 29 2c 27 31-31 31 30 27 29 |534'),'1 110')|
>>>>>
>>>>>dblib.c:4005:in dbsqlok()
>>>>>net.c:437:Received header
>>>>>0000 04 01 00 11 00 00 00 00- |........|
>>>>>
>>>>>net.c:531:Received packet
>>>>>0000 fd 10 00 c3 00 01 00 00-00 |........ .|
>>>>>
>>>>>dblib.c:4024:dbsqlok() marker is fd
>>>>>util.c:125:Changing query state from TDS_PENDING to TDS_READING
>>>>>token.c:526:processing result tokens. marker is fd(DONE)
>>>>>token.c:2344:tds_process_end: more_results = 0
>>>>> was_cancelled = 0
>>>>> error = 0
>>>>> done_count_valid = 1
>>>>>token.c:2360:tds_process_end() state set to TDS_IDLE
>>>>>util.c:125:Changing query state from TDS_READING to TDS_IDLE
>>>>>token.c:2376: rows_affected = 1
>>>>>util.c:125:Changing query state from TDS_IDLE to TDS_PENDING
>>>>>dblib.c:4070:dbsqlok() end status was success
>>>>>dblib.c:1288:dbresults()
>>>>>dblib.c:1054:dbcmd() bufsz = 230
>>>>>dblib.c:5007:in dbfreebuf()
>>>>>dblib.c:1104:in dbsqlexec()
>>>>>dblib.c:5818:in dbsqlsend()
>>>>>util.c:125:Changing query state from TDS_IDLE to TDS_QUERYING
>>>>>mem.c:453:tds_free_all_results()
>>>>>util.c:125:Changing query state from TDS_QUERYING to TDS_PENDING
>>>>>net.c:650:Sending packet
>>>>>0000 01 01 00 25 00 00 00 00-53 45 4c 45 43 54 20 40 |...%.... SELECT @|
>>>>>0010 40 49 44 45 4e 54 49 54-59 20 41 53 20 49 6e 73 |@IDENTIT Y AS Ins|
>>>>>0020 65 72 74 49 44 - |ertID|
>>>>>
>>>>>dblib.c:4005:in dbsqlok()
>>>>>net.c:437:Received header
>>>>>0000 04 01 00 30 00 00 00 00- |...0....|
>>>>>
>>>>>net.c:531:Received packet
>>>>>0000 a0 09 00 08 49 6e 73 65-72 74 49 44 a1 06 00 19 |....Inse rtID....|
>>>>>0010 00 01 00 6d 08 d1 08 00-00 00 00 00 80 43 40 fd |...m.... .....C@.|
>>>>>0020 10 00 c1 00 01 00 00 00- |........|
>>>>>
>>>>>dblib.c:4024:dbsqlok() marker is a0
>>>>>dblib.c:4030:dbsqlok() found result token
>>>>>dblib.c:1288:dbresults()
>>>>>mem.c:453:tds_free_all_results()
>>>>>util.c:125:Changing query state from TDS_PENDING to TDS_READING
>>>>>token.c:526:processing result tokens. marker is a0(COLNAME)
>>>>>read.c:178:tds_get_string: reading 8 from wire to give 8 to client.
>>>>>mem.c:453:tds_free_all_results()
>>>>>token.c:526:processing result tokens. marker is a1(COLFMT)
>>>>>token.c:1256:processing result. type = 109(float-null), varint_size 1
>>>>>util.c:125:Changing query state from TDS_READING to TDS_PENDING
>>>>>dblib.c:1326:dbresults() process_result_tokens returned result_type =
>>>>>4049 retcode = 1
>>>>>util.c:125:Changing query state from TDS_PENDING to TDS_READING
>>>>>token.c:526:processing result tokens. marker is d1(ROW)
>>>>>util.c:125:Changing query state from TDS_READING to TDS_PENDING
>>>>>dblib.c:1326:dbresults() process_result_tokens returned result_type =
>>>>>4040 retcode = 1
>>>>>dblib.c:2091:dbbind() column = 1 8 0
>>>>>dblib.c:2123:dbbind() srctype = 62 desttype = 56
>>>>>convert.c:2887:tds_willconvert()
>>>>>convert.c:2891:tds_willconvert() 62 56 1
>>>>>dblib.c:1545:dbnextrow()
>>>>>dblib.c:1560:dbnextrow() dbresults_state = 2
>>>>>util.c:125:Changing query state from TDS_PENDING to TDS_READING
>>>>>token.c:907:processing row tokens. marker is d1(ROW)
>>>>>token.c:2071:processing row. column is 0 varint size = 1
>>>>>token.c:2128:processing row. column size is 8
>>>>>util.c:125:Changing query state from TDS_READING to TDS_PENDING
>>>>>dblib.c:6244:copy_data_to_host_var(62 [SYBFLT8] len 8 => 56 [SYBINT4]
>>>>>len 0)
>>>>>dblib.c:6387:copy_data_to_host_var() called tds_convert returned 4
>>>>>
>>>>>HTH
>>>>>_______________________________________________
>>>>>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
>>_______________________________________________
>>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
>>
>>
>>
>>
>>
>
>_______________________________________________
>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