首先,我要感谢您的时间和知识分享,我对perl模块一窍不通
我有一个64位的ubuntu服务器12.04,带有Perl版本14,subversion 2 (v5.14.2),是为x86_64-linux-gnu-thread-multi和CPAN探索和模块安装(v2.10)构建的。
我正在尝试使用perl脚本访问Microsoft SQL Server,但在使用DBD::Sybase模块时遇到了很大的困难
当我尝试安装DBD::Sybase CPAN时,它告诉我它已经安装:
cpan[1]> install DBD::Sybase
Reading '/root/.cpan/Metadata'
Database was generated on Wed, 29 Apr 2015 14:53:21 GMT
DBD::Sybase is up to date (1.15).我还在我的文件系统中发现了多个Sybase.pm文件,其中一些位于Perl路径下
root@server:# find /* -name Sybase.pm
/home/usriten/download/DBD-Sybase-1.15/Sybase.pm
/root/.cpan/build/DBD-Sybase-1.15-TtUI0T/Sybase.pm
/root/.cpan/build/DBD-Sybase-1.15-kNqdf7/Sybase.pm
/root/.cpan/build/DBD-Sybase-1.15-rZgcTa/Sybase.pm
/usr/local/lib/perl/5.14.2/Sybase.pm
/usr/local/lib/perl/5.14.2/DBD/Sybase.pm
/usr/local/lib/perl/5.14.2/DBI/Sybase.pm但是,当我尝试运行我的脚本时,它在调用'if ($self->{handle} = DBI->connect(‘))的行上返回一个错误。
# ./check_mssql_health --hostname <MSSQL_Server_IP> --username <SQL_User> --password <Pass> --mode connection-time
mode connection-time
CRITICAL - cannot connect to <MSSQL_Server_IP>. install_driver(Sybase) failed: Can't locate loadable object for module DBD::Sybase in @INC (@INC contains: . /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl) at (eval 10) line 3
Compilation failed in require at (eval 10) line 3.
Perhaps a module that DBD::Sybase requires hasn't been fully installed
at ./check_mssql_health line 3192我已经花了很多时间来收集帖子,但我没有找到一个解决方案,或者至少一个我可以理解和实现的解决方案。
致以最好的问候,塞巴斯蒂安
发布于 2015-04-30 02:36:30
我让它在不同的设置下工作。
不要使用DBD::Sybase,而要安装freetds、unixodbc,然后安装DBD::ODBC。在freetds.conf文件中设置适当的参数。我的是这样的
[myMSSL]
host = 111.22.33.44
port = 1433
tds version = 7.2
client charset = UTF-8和/etc/odbc.ini
[mySQSL_mydb]
APP = unixodbc
Description = Database mydb on myMSSQL
Driver = TDSdriver
Server = myhost
Database = mydb
Port = 1433
#Trace = No我想这些就是你需要的包裹。
tdsodbc- Freetds命令行实用程序
ALternatively,另请参阅此帖子:Using Ubuntu, how do I install DBD::Sybase from CPAN?
(还有一些其他的,例如这个:Access SQL Server from Solaris)
发布于 2015-04-30 01:39:14
我会尝试通过apt安装它。
sudo apt-get install libdbd-sybase-perl -y我发现CPAN有时会遗漏依赖项。
https://stackoverflow.com/questions/29949682
复制相似问题