Skip to Content.
Sympa Menu

freetds - Re: [freetds] Transaction getting stuck in SQLBindCol

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: ikorot AT earthlink.net
  • To: FreeTDS Development Group <freetds AT lists.ibiblio.org>, FreeTDS Development Group <freetds AT lists.ibiblio.org>
  • Subject: Re: [freetds] Transaction getting stuck in SQLBindCol
  • Date: Fri, 25 Mar 2011 14:37:03 -0700 (GMT-07:00)

Hi, Matthew,


-----Original Message-----
>From: Matthew Gates <MGates AT redplc.com>
>Sent: Mar 25, 2011 8:54 AM
>To: FreeTDS Development Group <freetds AT lists.ibiblio.org>
>Subject: Re: [freetds] Transaction getting stuck in SQLBindCol
>
>>
>> [explanation of relationship between freetds and unixodbc]
>>
>> Hopefully this clears things a bit.
>>
>> Igor.
>>
>
>Thank you. I'm getting there. I found that the implementation
>of the SQLBindCol function is taken from libtdsodbc.so which is
>specified in unixodbc's odbcinst.ini file in the
>
> [TDS]
> Driver = /path/to/libtdsodbc.so

Yes, that's it.

>
>By updating odbcinst.ini I managed to get my modified version of
>SQLBindCol to execute. The first iteration simply added a syslog
>call to verify that I'm editing in the correct place. Now comes
>the hard part...
>
>I cannot output debugging information every call... it's just
>too verbose and impacts performance / log sizes too much (the
>problem only occurs about once a week (if that)).

Do you have a debugging / QA environment set?
You should have as it will help you a lot when debugging this
type of things.

What you should do is to clone the production database and run the clone
on the same server.
Then from you machine run you program either under debugger or with unixODBC
logging feature on.

When the program crashes you will have the full report.
Just make sure that nobody will have access to this DB for the time you debug
this issue.

Also make sure you clone production database, as it will help with the
program performance.

HTH,

Thank you.

>
>What I want to do it get SQLBindCol to populate a structure
>with debugging output. When the problem occurs (I can tell in
>the calling program because an exception gets raised), I want
>to dump this debugging output to syslog. I have to use an object
>local to the calling routine because the program is multi-
>threaded, making static objects difficult to use.
>
>I want to pass a pointer to a debugging store object as an
>additional parameter to SQLBindCol from the calling program,
>which means adding a new ODBC API call to unixODBC and
>implementing it in the FreeTDS driver, which I'm working on now.
>
>If anyone has an alternative strategy for doing this I'd love
>To hear it. :)
>
>Matthew
>
>
>Disclaimer
>
>This email transmission is confidential and intended solely for the person
>or organisation to whom it is addressed. If you are not the intended
>recipient, you must not copy, distribute or disseminate the information, or
>take any action in reliance of it. Any views expressed in this message are
>those of the individual sender, except where the sender specifically states
>them to be the views of any organisation or employer. If you have received
>this message in error, do not open any attachment but please notify the
>sender (above) deleting this message from your system.
>______________________________________________________________
>This message has been scanned for all viruses by BTnet VirusScreen.
>The service is delivered in partnership with MessageLabs.
>
>This service does not scan any password protected or encrypted
>attachments.
>
>Retail Decisions Ltd.; Registered Office: ReD House, Brookwood, Surrey GU24
>0BL; Company Number: 3885583
>_______________________________________________
>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