无法使用域用户在Linux上使用perl Sybase dbi连接到mssql 2008
我需要在CentOS机器上使用perl(12.2)和freetds 0.91连接到mssql 2008数据库,并且可以通过在数据库上定义的用户成功地完成连接。然而,我需要切换到一个域用户,我还没有弄清楚我需要做什么才能让它工作。数据库上的设置似乎正确,下面是我的连接字符串:无法使用域用户在Linux上使用perl Sybase dbi连接到mssql 2008,sql,sql-server,perl,Sql,Sql Server,Perl,我需要在CentOS机器上使用perl(12.2)和freetds 0.91连接到mssql 2008数据库,并且可以通过在数据库上定义的用户成功地完成连接。然而,我需要切换到一个域用户,我还没有弄清楚我需要做什么才能让它工作。数据库上的设置似乎正确,下面是我的连接字符串: my $dsn = [ "DBI:Sybase:database=adx;server<server_name>", '<DOMAIN>\\<user>', '&l
my $dsn = [
"DBI:Sybase:database=adx;server<server_name>",
'<DOMAIN>\\<user>',
'<password>',
{
PrintError => 0,
RaiseError => 0,
AutoCommit => 0
}
];
my$dsn=[
“DBI:Sybase:database=adx;server”,
'\\',
'',
{
PrintError=>0,
RaiseError=>0,
自动提交=>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
DBI:Sybase:database=的数据库连接失败;服务器=
\\:OpenClient消息:层=(0)源=(0)严重性=(78)编号=(34)
服务器、数据库
消息字符串:自适应服务器连接失败
我相信tds错误
(LAYER=(0)ORIGIN=(0)SEVERITY=(78)NUMBER=(34))
表明登录失败,但我确信密码是正确的,并已直接在mssql客户端上尝试过。有人能让它工作吗?我发现从Linux连接到SQL server(DBD::ODBC)的唯一成功方法是使用ODBC,SyBase模块应该与SyBase实例一起使用,而不是与SQL server一起使用
与ODBC一起使用的连接字符串应如下所示:
"DBI:ODBC:driver={SQL Server};Server=192.168.1.1,1433;database=db_name";
你试过硬编码吗$dbh=DBI->connect(“DBI:Sybase:server=BILLING”、“meuser”、“mypassw”);为什么要使用Sybase连接到mssqsl。有一个类::DBI::MSSQLI尝试了这种硬编码语法。不起作用。而DBI::MSSQL需要ODBC,因此需要我安装和配置unixODBC,而我上次尝试时无法使其正常工作。我已经在使用常规mssql数据库帐户使用DBI::Sybase连接到mssql。mssql基于Sybase,我正在使用DBI::Sybase和freetds 0.91。它适用于许多常规mssql数据库帐户,但我还没有找到如何让它与域帐户一起工作。是的,但是我认为使用ODBC可能会更好,尤其是在这种情况下。。。