3

我刚刚在 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.
4

1 回答 1

2
DRIVER={SQL Server}

您的代码正在尝试连接到 odbcinst.ini 文件中的 [SQL Server] 驱动程序。但是,如果您使用的是Easysoft ODBC-SQL Server 驱动程序,您将需要使用:-

Driver={Easysoft ODBC-SQL Server}
于 2012-09-17T10:01:32.293 回答