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>
  • Subject: Re: [freetds] Transaction getting stuck in SQLBindCol
  • Date: Wed, 23 Mar 2011 18:07:46 -0400 (EDT)

Matthew,


-----Original Message-----
>From: Matthew Gates <MGates AT redplc.com>
>Sent: Mar 23, 2011 9:28 AM
>To: FreeTDS Development Group <freetds AT lists.ibiblio.org>
>Subject: Re: [freetds] Transaction getting stuck in SQLBindCol
>
>> SQLBindCol() provokes no network activity. It simply tells the library
>> the form in which it wants to see the data, and about the buffer into
>> which the transformed data are to be placed.
>
>Thank you, I had thought this is the case but it's very nice to get
>a second opinion from someone more familiar with these things than
>I.
>
>I wrote some logging routines and tried to build them into my app,
>only to discover that while it is linked against FreeTDS, it
>actually gets the ODBC implementations from UnixODBC. This makes
>me wonder why FreeTDS has its own implementation of these ODBC
>routines instead of using UnixODBC? Is it just to it can be built
>without UnixODBC if required, or are there deeper seated problems
>with the UnixODBC implementation, or something else entirely?

You are wrong here.
unixODBC provides basic interface that is needed to work with database.
However it relies on the driver implementation to send all needed stuff
over the wire.
Initially M$ created ODBC to use as unified interface that will work
with all databases from one single API. unixODBC is just a way to
port this to *nix'esand make it an open source base on GPL software.
There are other ODBC packages created for use on *nix, such as iODBC.

Lets say you need to connect to DB, send query and disconnect.
FreeTDS generates necessary packet and sends it out. How it sends - it's a
work
of unixODBC.

Basically it's just a layer between the driver and DB which says:
This is how I want you to communicate.

What's good about Linux is that you don't have to reply on ODBC as it's
M$-ism. For Sybase/MS SQL you can use db-lib/ct-lib to talk to the server
directly. It should be a little faster, since you are removing a layer
in the conversation, but db-lib/ct-lib does not have public documentation
as ODBC.

Hopefully this clears things a bit.

Igor.

>
>Regards,
>Matthew
>
>P.S. Sorry about these annoying footers. Out of my control I'm afraid.
>
>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