2011-09-20 7 views
11

Estoy intentando conectarme a DB2 desde la aplicación .NET 2.0 en mi máquina de desarrollo que ejecuta Windows 7 de 64 bits.SQL1159 Error de inicialización con DB2 .NET Data Provider, código de razón 2

Recibo este error en el método abierto. No pudo encontrar una solución.

ExceptionType: InvalidOperationException ExceptionMessage: SQL1159 Error de inicialización con DB2 .NET Data Provider, código de razón 2, tokens D: ....................... \ bin \ db2app.dll, StackTrace: en IBM.Data.DB2.DB2ConnPool.Open (conexión DB2Connection, cadena & szConnectionString, DB2ConnSettings & ppSettings, objeto & ppConn) en IBM.Data.DB2.DB2Connection.Open()

Respuesta

8

Aprendí esto de una colega mía. El problema se debía a que faltaba db2app.dll en el directorio bin de la carpeta de la aplicación.

Copié db2app.dll y db2app64.dll desde C: \ Archivos de programa \ IBM \ SQLLIB \ BIN a la carpeta del babero de la aplicación y funcionó bien.

+1

sí, debe asegurarse de que el traje del controlador de DB2 esté en la RUTA – zinking

+0

Gracias @Shetty, su respuesta resolvió mi problema –

2

Consulte la "respuesta del usuario" en la parte inferior de IBM doc for SQL1159N, que también enumera los diversos motivos por los que podría recibir este código de error:

Hubo un problema con la instalación de DB2. Si esta es la primera vez que se instala DB2 en esta computadora, revise los registros de instalación para detectar posibles errores y ejecute una reparación de DB2 desde la miniaplicación Agregar o quitar programas del panel de control. La ubicación predeterminada de los registros de instalación es la carpeta Mis documentos/DB2LOG del usuario que realizó la instalación. Si esto no resuelve el problema, póngase en contacto con el soporte de IBM y proporcione el código de razón asociado con este mensaje junto con los registros de instalación.

+0

gracias por el enlace. Pero mi instalación no tuvo problemas. – Shetty

0

Después de hablar con IBM, recomiendan encarecidamente no poner IBM dlls dentro de la carpeta bin. Dejamos que IBM configure remotamente nuestro servidor y ahora todo funciona bien y no debemos poner el ibm * .dll en nuestras carpetas bin o no funcionará.

1

Tenía un cliente DB2 de 32 bits y lo estaba accediendo desde una aplicación web alojada en IIS, utilizando el grupo de aplicaciones (con 'Habilitar aplicación de 32 bits' establecido en falso). En este caso, se espera un cliente de 64 bits (db2app64.dll) , mientras que db2app.dll arrojará el error anterior.

Just FYI .. Es difícil depurar este error en Visual Studio porque de forma predeterminada IIS express usa el grupo de aplicaciones de 32 bits. Para cambiarlo a 64 bits, uno debe realizar cambios en el registro (establezca Use64BitIISExpress en 1). No hay inetmgr para IIS Express.

Cuestiones relacionadas