what am I missing?
Chris Bartram <[email protected]>
| Newsgroups | gmane.comp.db.tds.freetds |
|---|---|
| Message-ID | <[email protected]> |
Downloaded and built the current freedts and unixODBC (both using default
./configure) on a RHEL box that already had working Perl DBI functionality to
remote MySQL databases.When I try the ODBC connection in a Perl program I get
errors that the .so is not found; yet an ls shows the file(s) right where it's
supposed to be looking. tsql looks like it might be working? I was getting
authentication errors (when I tried a domain account; once the DBA created a SQl
account for me those errors stopped and tsql now give me a prompt.)
Remote MS SQL server is a SQL (2008?) cluster if that matters.
Config details below. Any help appreciated.
-Chris Bartram
"The purpose of life is not to be happy. It is to be useful, to be honorable,
to be compassionate, to have it make some difference that you have lived and
lived well". (Ralph Waldo Emerson)
-bash-3.2$ uname -a
Linux hostname 2.6.18-194.17.1.el5 #1 SMP Mon Sep 20 07:12:06 EDT 2010 x86_64
x86_64 x86_64 GNU/Linux
-bash-3.2$ /usr/local/bin/tsql - S SQLServer -U user -P pass
locale is "en_US.UTF-8"
locale charset is "UTF-8"
1>
-bash-3.2$ isql -v SQLServer user
[S1000][unixODBC][FreeTDS][SQL Server]Unable to connect to data source
[01000][unixODBC][FreeTDS][SQL Server]Adaptive Server connection failed
[01000][unixODBC][FreeTDS][SQL Server]Unexpected EOF from the server
[ISQL]ERROR: Could not SQLConnect
-bash-3.2$ cat test.pl
#!/usr/bin/perl
use DBI;
use Socket;
$userpass='pass';
$dbh = DBI->connect("dbi:ODBC:SQLServer","user",$userpass);
if (!$dbh)
{
$dberror=$DBI::errstr;
print localtime()."DB Connect error:$dberror \n";
exit;
};
-bash-3.2$ ./test.pl
DBI connect('SQLServer','user',...) failed: [unixODBC][Driver Manager]Can't open
lib '/usr/local/lib/libtdsodbc.so' : file not found (SQL-01000) at ./testscom.pl
line 11
Tue May 17 11:35:59 2011DB Connect error:[unixODBC][Driver Manager]Can't open
lib '/usr/local/lib/libtdsodbc.so' : file not found (SQL-01000)
-bash-3.2$ ls -la /usr/local/lib/libtds*
-rw-r--r-- 1 root root 1977476 May 12 17:44 /usr/local/lib/libtdsodbc.a
-rwxr-xr-x 1 root root 829 May 12 17:44 /usr/local/lib/libtdsodbc.la
lrwxrwxrwx 1 root root 19 May 12 17:44 /usr/local/lib/libtdsodbc.so ->
libtdsodbc.so.0.0.0
lrwxrwxrwx 1 root root 19 May 12 17:44 /usr/local/lib/libtdsodbc.so.0 ->
libtdsodbc.so.0.0.0
-rwxr-xr-x 1 root root 1018998 May 12 17:44 /usr/local/lib/libtdsodbc.so.0.0.0
-bash-3.2$ cat /usr/local/etc/odbcinst.ini
[FreeTDS]
Description=v with protovol v
Driver=/usr/local/lib/libtdsodbc.so
UsageCount=1
-bash-3.2$ cat /usr/local/etc/freetds.conf
# $Id: freetds.conf,v 1.12 2007/12/25 06:02:36 jklowden Exp $
#
# This file is installed by FreeTDS if no file by the same
# name is found in the installation directory.
#
# For information about the layout of this file and its settings,
# see the freetds.conf manpage "man freetds.conf".
# Global settings are overridden by those in a database
# server specific section
[global]
# TDS protocol version
; tds version = 4.2
# Whether to write a TDSDUMP file for diagnostic purposes
# (setting this to /tmp is insecure on a multi-user system)
; dump file = /tmp/freetds.log
; debug flags = 0xffff
# Command and connection timeouts
; timeout = 10
; connect timeout = 10
# If you get out-of-memory errors, it may mean that your client
# is trying to allocate a huge buffer for a TEXT field.
# Try setting 'text size' to a more reasonable limit
text size = 64512
[SQLServer]
host = sqlclus
port = 1433
tds version = 8.0
-bash-3.2$ cat .odbc.ini
[SQLServer]
Driver=FreeTDS
Description=test Database
Trace=No
TraceFile=/tmp/odbc.trace
Server=SQLCLUS
Port=1433
Database=OperationsManager