[freetds] Two Qs, one on Sybase, one on ODBC

Rebecca Witmer rwitmer at versay.com
Wed May 27 16:04:24 EDT 2009


QUESTION 1

I am trying to install DBD::Sybase.  I got FreeTDS running and can do
queries with it from the command line, so I know that's working fine.
But now I want to do queries from Perl. So I am trying to install the
DBD::Sybase module.  perl Makefile.pl works fine, but running make
doesn't work.  I am running OSX and I am having basically the same
problem the guys are here:

http://www.cpanforum.com/posts/9843
http://www.cpanforum.com/posts/9851

I get this output:

rwitmers-macbook-pro-15:DBD-Sybase-1.09 rwitmer$ make
cc -c  -I/opt/freetds/include -DSYB_LP64 -DNO_BLK=1
-I/System/Library/Perl/Extras/5.8.8/darwin-thread-multi-2level/auto/DBI
-arch i386 -arch ppc -g -pipe -fno-common -DPERL_DARWIN -no-cpp-precomp
-fno-strict-aliasing -Wdeclaration-after-statement -I/usr/local/include
-O3   -DVERSION=\"1.09\" -DXS_VERSION=\"1.09\"
"-I/System/Library/Perl/5.8.8/darwin-thread-multi-2level/CORE"   Sybase.c
cc -c  -I/opt/freetds/include -DSYB_LP64 -DNO_BLK=1
-I/System/Library/Perl/Extras/5.8.8/darwin-thread-multi-2level/auto/DBI
-arch i386 -arch ppc -g -pipe -fno-common -DPERL_DARWIN -no-cpp-precomp
-fno-strict-aliasing -Wdeclaration-after-statement -I/usr/local/include
-O3   -DVERSION=\"1.09\" -DXS_VERSION=\"1.09\"
"-I/System/Library/Perl/5.8.8/darwin-thread-multi-2level/CORE"   dbdimp.c
dbdimp.c: In function ‘syb_init’:
dbdimp.c:777: error: ‘BLK_VERSION_150’ undeclared (first use in this
function)
dbdimp.c:777: error: (Each undeclared identifier is reported only once
dbdimp.c:777: error: for each function it appears in.)
dbdimp.c:781: error: ‘BLK_VERSION_125’ undeclared (first use in this
function)
dbdimp.c:785: error: ‘BLK_VERSION_120’ undeclared (first use in this
function)
dbdimp.c: In function ‘syb_init’:
dbdimp.c:777: error: ‘BLK_VERSION_150’ undeclared (first use in this
function)
dbdimp.c:777: error: (Each undeclared identifier is reported only once
dbdimp.c:777: error: for each function it appears in.)
dbdimp.c:781: error: ‘BLK_VERSION_125’ undeclared (first use in this
function)
dbdimp.c:785: error: ‘BLK_VERSION_120’ undeclared (first use in this
function)
lipo: can't open input file:
/var/folders/5j/5jvD0zy7GiaxVDHIL7Uk-++++TI/-Tmp-//ccad658l.out (No such
file or directory)
make: *** [dbdimp.o] Error 1

QUESTION 2

So that's option #1, fix the Sybase module and get it to install. 
Option #2 is to use DBD::ODBC.  I got that to install and perl seems to 
recognize that the module exists.  Only, when I try to connect to the 
database it tell me that it needs a driver, like this:

rwitmers-macbook-pro-15:Documents rwitmer$ perl testFreetds.pl
Unable for connect to server [iODBC][Driver Manager]Data source name not
found and no default driver specified. Driver could not be loaded
(SQL-IM002) at testFreetds.pl line 20.

What kind of driver is it looking for and where do I find it?

The readme says to define these:

     DBI_DSN   The dbi data source, e.g. 'dbi:ODBC:YOUR_DSN_HERE'
     DBI_USER  The username to use to connect to the database
     DBI_PASS  The username to use to connect to the database
     ODBCHOME  (Unix only) The dir your driver manager is installed in
               or specify this via -o argument to Makefile.PL

I don't have ODBCHOME defined because I have no idea what a driver
manager is, or whether I have it.

What is your advice on solving either of these two problems?

Thanks!
Rebecca



More information about the FreeTDS mailing list