Simon Oliver wrote:
> What do you mean by "compiled directly against the sapdb odbc interface". Do
> I then need to have two versions of DBD::ODBC? One for regular ODBC drivers
> and one for SAP DB?
Well, there are two ways of doing it:
1) You have a driver manager, you compile the DBD::ODBC driver against
it and use it for everything.
2) You don't have a driver manager, so you compile the DBD::ODBC driver
against the sapdb interface.
You never need two, because if you use DBD::ODBC already then you are
probably using it with a driver manager and the driver manager talks to
the sapdb odbc interface on it's own.
> Are these changes in the standard DBD::ODBC on CPAN?
Yes 0.30 and 0.31 or newer.
> > The only issue with DBD::ODBC is that you need to recompile the sapdb
> > odbc interface with debugging information turned on or it will segfault
> > the client on connect.
> I'm confused - if DBD::ODBC compiled against sapdb is different than regular
> DBD::ODBC then shouldn't it have a different name?
No, it's the same thing.
If you *only* need sapdb then you can compile DBD::ODBC without a
drivermanager, if you need other databases (thou shalt have only one
DBMS) then you use a drivermanager, see this:
DBD::ODBC | Other ODBC user
-------------+----------------- <-- ODBC
Drivermanager
---------------+--------------- <-- ODBC
sapdb odbc lib | DB2 ODBC lib
As you can see the interface between DBD::ODBC and the drivermanager is
the same as the interface between the drivermanager and the DBMS
drivers, so if you only need one database driver then the drivermanager
is only overhead.
> Is there any problem using the DBD::ODBC from CPAN with a SAP DB DSN?
No.
--
Regards Flemming Frandsen aka. Dion/Swamp http://dion.swamp.dk