我需要在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客户端上直接尝试了。有人让这个工作吗?
答案 0 :(得分:2)
我发现从Linux连接到SQL服务器(DBD :: ODBC)的唯一成功方法是使用ODBC,SyBase模块应该与Sybase的实例一起使用,而不是与SQL Server一起使用...
与ODBC一起使用的连接字符串应如下所示:
"DBI:ODBC:driver={SQL Server};Server=192.168.1.1,1433;database=db_name";