Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法使用域用户在Linux上使用perl Sybase dbi连接到mssql 2008_Sql_Sql Server_Perl - Fatal编程技术网

无法使用域用户在Linux上使用perl Sybase dbi连接到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

我需要在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
    }
];
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可能会更好,尤其是在这种情况下。。。