我刚刚在Ubuntu中安装了ODBC驱动程序,但是在从Perl连接数据库时我仍然遇到问题。这是我在机器上所做的描述。
我从easysoft网站安装了MSSQL驱动程序和Unix ODBC。我的机器中的路径详细信息如下:
ODBC安装路径: - user/local/easysoft/unixodbc
数据源和驱动程序路径:user/local/etc
示例代码:
#!/usr/bin/perl
use strict;
use DBI;
my $dsn="DBI:ODBC:DRIVER={SQL Server};Server=xxx.xxx.xxx.xxx,1433;database=DB_name";
my $dbh = DBI->connect($dsn, "username", "password" ,{AutoCommit => 1} )
or die DBI::errstr;
错误:
DBI connect('DRIVER={SQL Server};Server=xxx.xxx.xxx.xxx,1433;database=DB_name','username',...) failed: unixODBCDriver Manager Can't open lib 'SQL Server' : file not found (SQL-01000) at sample.pl line 5
unixODBCDriver ManagerCan't open lib 'SQL Server' : file not found (SQL-01000) at sample.pl line 5.
答案 0 :(得分:2)
DRIVER={SQL Server}
您的代码正在尝试连接到odbcinst.ini文件中的[SQL Server]驱动程序。但是,如果您使用Easysoft ODBC-SQL Server Driver,则需要使用: -
Driver={Easysoft ODBC-SQL Server}