no se puede conectar usando perl Sybase dbi en Linux a mssql 2008 usando un usuario de dominio
Frecuentes
Visto 3,874 equipos
3
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?
1 Respuestas
2
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 sql sql-server perl or haz tu propia pregunta.
lo has probado codificado? : $dbh = DBI->connect("dbi:Sybase:server=FACTURACIÓN","meusuario","micontraseña"); - moskito-x
¿Por qué usar Sybase para conectarse a mssqsl. Hay una Clase::DBI::MSSQL - stark
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. - Dan Littlejohn