no se puede conectar usando perl Sybase dbi en Linux a mssql 2008 usando un usuario de dominio

Necesito conectarme a una base de datos mssql 2008 usando perl (12.2) y freetds 0.91 en un cuadro CentOS y puedo hacerlo con éxito con un usuario definido en la base de datos. Sin embargo, necesito cambiar a un usuario de dominio y no he podido averiguar qué debo hacer para que funcione. Parece estar configurado correctamente en la base de datos y aquí está mi cadena de conexión:

my $dsn = [
    "DBI:Sybase:database=adx;server<server_name>",
    '<DOMAIN>\\<user>',
    '<password>',
    {
        PrintError  => 0,
        RaiseError  => 0,
        AutoCommit  => 0
    }
];

Aquí está el mensaje de error:

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

Creo que el error tds (LAYER = (0) ORIGIN = (0) SEVERITY = (78) NUMBER = (34)) indica que el inicio de sesión falló, pero estoy seguro de que la contraseña es correcta y la probé directamente en un cliente mssql. Alguien pudo hacerlo funcionar?

preguntado el 27 de julio de 12 a las 21:07

lo has probado codificado? : $dbh = DBI->connect("dbi:Sybase:server=FACTURACIÓN","meusuario","micontraseña"); -

¿Por qué usar Sybase para conectarse a mssqsl. Hay una Clase::DBI::MSSQL -

He probado esa sintaxis codificada. No funcionó. Y DBI::MSSQL requiere ODBC, por lo que tendría que instalar y configurar unixODBC y no pude hacer que funcionara la última vez que lo intenté. Ya me estoy conectando usando DBI::Sybase a mssql usando cuentas regulares de la base de datos mssql. -

1 Respuestas

La única forma exitosa que he encontrado para conectarme al servidor SQL (DBD::ODBC) desde Linux es usando ODBC, el módulo SyBase debe usarse con una instancia de Sybase y no con SQL Server ...

La cadena de conexión para usar con ODBC debería tener el siguiente aspecto:

 "DBI:ODBC:driver={SQL Server};Server=192.168.1.1,1433;database=db_name";

Respondido 28 Jul 12, 09:07

mssql se basa en Sybase y estoy usando DBI::Sybase con freetds 0.91. Funciona para varias cuentas de base de datos mssql regulares, pero aún no he encontrado cómo hacer que funcione con una cuenta de dominio. - Dan Littlejohn

Sí, sin embargo, creo que sería mejor usar ODBC, especialmente en este caso... - Aleroot

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.