¿Qué es este error 'OLE DB de pasos múltiples'?
-
09-06-2019 - |
Pregunta
Estoy trabajando un poco en un software horrible creado por Bangalores.
Está escrito en su mayoría en ASP / VbScript clásico, pero " portado " para ASP.NET, aunque la mayoría del código es estilo ASP clásico en las páginas ASPX :(
Recibo este mensaje cuando intenta conectarse a mi base de datos local:
La operación OLE DB de varios pasos generó errores. Compruebe cada valor de estado de OLE DB, si está disponible. No se hizo ningún trabajo.
Line 38: MasterConn = New ADODB.Connection()
Line 39: MasterConn.connectiontimeout = 10000
Line 40: MasterConn.Open(strDB)
¿Alguien tiene una pista de lo que significa este error? Se conecta a mi máquina local (ejecutando SQLEXPRESS) usando esta cadena de conexión:
PROVIDER=MSDASQL;DRIVER={SQL Server};Server=JONATHAN-PC\SQLEXPRESS\;DATABASE=NetTraining;Integrated Security=true
¿Cuál es la cadena de conexión que estaba usando inicialmente? La reubicé en mi base de datos.
ACTUALIZAR:
El problema estaba usando " Seguridad Integrada " con ADO. Cambié a usar una cuenta de usuario y se conectó bien.
Solución
Me encontré con esto hace mucho tiempo trabajando en ASP. Encontré este artículo de base de conocimiento y me ayudó. Espero que resuelva tu problema.
http://support.microsoft.com/kb/269495
Si esto no funciona y todo se verifica, entonces probablemente sea su cadena de conexión. Probaría estos pasos a continuación:
Eliminar:
DRIVER={SQL Server};
Edite el proveedor para esto:
Provider=SQLOLEDB;
Otros consejos
Como nota al margen, connectionstrings.com es un gran sitio para que no tenga que recordar toda esa conexión sintaxis de cadena.
Encontré este problema cuando intenté conectarme a una base de datos MySQL a través del maravilloso ASP clásico. Las soluciones anteriores no lo arreglaron directamente, pero al final lo resolví al actualizar el controlador ODBC (de la versión 3.51) a la última versión. Entonces pude dejar la línea del controlador en (y no agregar el bit del Proveedor), pero tuve que actualizar la cadena de conexión en consecuencia para:
Driver={MySQL ODBC 5.1 Driver};
Eso funcionó bien. Feliz chappy.