需要帮助从Linux连接MSSQL SERVER(ubuntu)

时间:2012-09-17 08:19:35

标签: linux perl unixodbc

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

1 个答案:

答案 0 :(得分:2)

DRIVER={SQL Server}

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

Driver={Easysoft ODBC-SQL Server}