[freetds] Want to use fast forward cursors (SQL_CO_FFO) and MARS

Sebastien FLAESCH sf at 4js.com
Mon May 5 09:50:42 EDT 2008

Ok James I understand.

Just to explain our case:

We bundle a FreeTDS interface with our runtime system, to let IBM Informix 4gl
applications connect to SQL Server from UNIX.

We don't need to provide the ODBC headers to our customer actually: They use
the 4gl language to write applications and we provide the compiler and VM to

We support also other database clients such as Oracle, DB2, Informix, PostgreSQL,
MySQL, Sybase... and for these we do not use any ODBC driver manager, since we
link directly with the native API... (except with SQL Server on Windows, here
we have no choice and link with ODBC32.LIB).

Concerning UNIX, so far our customers just need to install 2 components on the
application servers:

1) The database client software (Oracle client, Informix CSDK, FreeTDS)
2) Our software (runtime environment) with the db interfaces.

If we can avoid to install UnixODBC, it's better... you get the idea.

However your remark scares me a bit now, except ODBC 2 / ODBC 3 function mapping,
does the DM make other (important) things?

So far I thought the unique role of the DM is to load the appropriate driver...

Where can I find the ODBC specs please?

Thanks a lot!

James K. Lowden wrote:
> Sebastien FLAESCH wrote:
>> FreeTDS comes with Sybase (TDS) headers (sqlfront.h, sybfront.h, etc)
>> so why don't you provide ODBC headers?
> Hi Sebastien, 
> With the db-lib and ct-lib headers, there's no choice.  No other free
> implementation exists, and no independent standard exists.  
> With the ODBC headers, the DM projects maintain free implementations of an
> independent standard.  Using them avoids confusion at install time.  It's
> less work for us, and keeps us "honest" in the sense that we have to be
> strictly compatible with their declarations.  
>> But what if I don't want to use a driver manager? This is critical
>> in our case, when a lot of application servers have to be installed
>> = need to minimize deployment costs, and if we can avoid to install
>> UnixODBC, it's fine!
> I'm surprised that works for you, frankly.  The ODBC specs define quite a
> bit of work for the DM.  Among other things, it synthesizes ODBC 3.0
> functions for use with ODBC 2.0 drivers.  I would think using unixODBC
> would simplify your life as an application programmer.  That was the idea
> in the first place.  
> In any case, folks like you know what you're doing.  You don't have to
> install unixODBC to get the .h files; you can just unpack it and copy
> them.  Easy to find, easy to update, easy to package with your
> application.  
> Regards, 
> --jkl
> _______________________________________________
> FreeTDS mailing list
> FreeTDS at lists.ibiblio.org
> http://lists.ibiblio.org/mailman/listinfo/freetds

More information about the FreeTDS mailing list