【发布时间】:2012-07-31 02:16:26
【问题描述】:
我需要在 CentOS 机器上使用 perl (12.2) 和 freetds 0.91 连接到 mssql 2008 数据库,并且可以使用在数据库上定义的用户成功完成。但是,我需要切换到域用户,但我无法弄清楚我需要做什么才能让它工作。它看起来在数据库上正确设置,这是我的连接字符串:
my $dsn = [
"DBI:Sybase:database=adx;server<server_name>",
'<DOMAIN>\\<user>',
'<password>',
{
PrintError => 0,
RaiseError => 0,
AutoCommit => 0
}
];
这是错误信息:
database connection failed for DBI:Sybase:database=<db_name>;server=<server_name>
<DOMAIN>\\<user> : OpenClient message: LAYER = (0) ORIGIN = (0) SEVERITY = (78) NUMBER = (34)
Server <server_name>, database
Message String: Adaptive Server connection failed
我相信tds错误(LAYER = (0) ORIGIN = (0) SEVERITY = (78) NUMBER = (34))表示登录失败,但我确定密码是正确的,并直接在mssql客户端上尝试过。有谁让这个工作?
【问题讨论】:
-
你试过硬编码吗? : $dbh = DBI->connect("dbi:Sybase:server=BILLING","meuser","mypassw");
-
为什么要使用 Sybase 连接 mssqsl。有一个 Class::DBI::MSSQL
-
我已经尝试过硬编码的语法。不工作。而 DBI::MSSQL 需要 ODBC,因此需要我安装和配置 unixODBC,而我上次尝试时无法让它工作。我已经使用常规 mssql 数据库帐户使用 DBI::Sybase 连接到 mssql。
标签: sql sql-server perl