如何从Linux中的Perl脚本访问SQL Server数据库?

时间:2009-12-09 22:34:42

标签: sql-server linux perl odbc

我在Linux(Ubuntu 8.10)机器上有一个Perl脚本,我需要将数据写入SQL Server数据库。我一直在尝试使用DBD :: ODBC模块,但我无法连接它。我在哪里可以获得用于ODBC连接的免费/开源驱动程序,还是有其他方法可以从Linux上的Perl执行此操作?

2 个答案:

答案 0 :(得分:9)

我使用unixODBCfreeTDS(这是驱动程序)和DBD :: ODBC的堆栈连接到SQL Server 2005。

安装这些组件后,编辑/etc/unixODBC/odbc.ini,如下所示:

[DNS]
Description = my database
Driver = /usr/lib/libtdsodbc.so #path to freeTDS driver
Server = ServerName
Database = DatabaseName
Port = 1433 #sql server default port
TDS_Version = 9.0 #9.0 is sql server 2005
try domain login = yes
try server login = yes
nt domain = DOMAIN

如果一切顺利,您应该可以连接:

$dbh = DBI->connect('dbi:ODBC:DNS', "userName", "passWord");
祝你好运!

答案 1 :(得分:5)

使用DBD::Sybase模块,Sybase和MS SQL Server共享一个公共代码库。

您可能还想调查开源FreeTDS库。请参阅FreeTDS常见问题解答问题“Which Perl library should I use”。