SQL1159 Error de inicialización con DB2 .NET Data Provider, código de motivo 7, tokens 9.5.0.DEF.2, SOFTWARE\IBM\DB2\InstalledCopies

StackOverflow https://stackoverflow.com/questions/29370

  •  09-06-2019
  •  | 
  •  

Pregunta

Estoy intentando que el proveedor de datos DB2 de una aplicación .Net de 32 bits se conecte a DB2 ejecutándose como una aplicación de 32 bits en Vista 64 (¿ya es bastante confuso)?Desafortunadamente, recibo el siguiente error:

SQL1159 Error de inicialización con DB2 .NET Data Provider, código de motivo 7, tokens 9.5.0.DEF.2, SOFTWARE\IBM\DB2\InstalledCopies

Hay varios Publicaciones en el foro de IBM mencionarlo, pero poca orientación útil.¿Alguien ha experimentado esto antes?¿O tienes mejores ideas para solucionarlo?

¿Fue útil?

Solución

¿Es necesario que se ejecute como x86?Tuve problemas similares con las aplicaciones web en el servidor web de desarrollo de Visual Studio (que es x86), pero cambiar a IIS (x64) funcionó para mí.Como estaba implementando en IIS x64, di por terminado el día en ese momento.

Intenté rastrear con Filemon y Regmon, pero no obtuve ningún error de claves denegadas o faltantes.Si volviera a mirar, comprobaría HKLM\Software\WOW6432Node, adivinando que el instalador escribe en el nodo x64 HKLM\Software, pero no en el x86.

Otros consejos

Recuerdo vagamente haber tenido un problema similar con el controlador oledb DB2 para as/400 cuando intentaba configurar un servidor vinculado desde sql 2005 a as/400.Fue un problema de permisos y finalmente descubrí que solo las cuentas del servidor SQL (no Windows) podían usar el servidor vinculado porque (creo) entonces el controlador se cargaba usando las credenciales del SQL en lugar de las suplantadas.Si funciona cuando se "ejecuta como" administrador, entonces deben ser permisos.

Supongo que has visto el artículo de SQL1159 en el Guía de referencia de DB2?

Desafortunadamente para usted, los códigos de motivo terminan en 6 y no continúan hasta 7.Dice:

Respuesta del usuario:Hubo un problema con su instalación de DB2.Si 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 el subprograma 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, comuníquese con el soporte de IBM y proporcione el código de motivo asociado con este mensaje junto con los registros de instalación.

Así que supongo que intenta reinstalarlo y si el problema continúa tendrás que comunicarte con IBM.

Lo siento, sé que eso no es de mucha ayuda.

Desinstalé la versión anterior de 32 bits, la reinstalé como de 64 bits y ahora aparece un error completamente diferente.Se menciona que requiere FP2 para solucionarlo, pero como estoy usando Express-C, no puedo instalar el fixpack (IBM no proporciona fixpacks para productos DB2 gratuitos).De todos modos, gracias por la ayuda.Al menos puedo acercarme a conectarme ahora.:)

También encontré este error en un servidor Windows 2003 x86.Originalmente mi problema era

No se puede encontrar el proveedor de datos .NET Framework solicitado.No se puede instalar.

lo que generó comentarios de que a c:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\machine.config le faltaban las entradas necesarias para la sección DbProviderFactories.Y de hecho, allí no había ninguna entrada de IBM DB2.Cuando agregué manualmente una entrada, encontré este error suyo, que sugiere que hay más que simplemente editar machine.config.

Finalmente, desinstalé el conjunto de controladores IBM DB2, reinicié el sistema, lo reinstalé y logré inicializar las conexiones correctamente.

Sólo como una nota rápida...

@Micheal:el enlace que tenía para SQL1159 es a los documentos de la versión 9.1
La documentación de la Versión 9.5 llega hasta el código de motivo 9
http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/topic/com.ibm.db2.luw.messages.sql.doc/doc/msql01159n.html

Desafortunadamente, creo que hay un código de décimo motivo que no está documentado allí, pero está en un tema de DeveloperWorks.
http://www.ibm.com/developerworks/wikis/display/DB2/DB2+and+.NET+FAQ#DB2and.NETFAQ-WhatisSQL1159InitializationError%3F

Tuve el mismo problema con el proveedor DB2 .net.

Si tiene Windows 64 Bit, descargue e instale IBM Data Server Runtime Client (Windows AMD 64) Versión 9.5
Desde _https: //www14.software.ibm.com/webapp/iwm/web/prelogin.do? lang = en_us & source = swg-idsrc11 & s_tact = appddnet & s_cmp = ibm_im

Si ejecuta su programa, obtendrá la siguiente excepción

Excepción no controlada:Excepción de desbordamiento del sistema:La operación aritmetica resulto en un desbordamiento.en ibm.data.db2.db2connpool.open (DB2Connection Connection, StringszConnectionStringin, DB2Connsettings & PPsettings, Object & PPConn) en IBM.Data.db2.DB2Connection.open ()

Descargue e instale la solución para su versión de db2 desdehttp://www-01.ibm.com/support/docview.wss?uid=swg1IZ09579

esto solucionaría el problema.

Instale DB2 Express-C para Win X64, versión 9.7.1 y funcionaría

Tuve un problema similar, mi máquina es de 64 bits.Instalé clientes de tiempo de ejecución DB2 de 32 y 64 bits, configuré el marco de destino en 32 bits en mi proyecto y funcionó perfectamente para mí.Pude ejecutar la aplicación en otras máquinas de 64/32 bits, solo necesitan instalar 32 bits o 64 bits desde el cliente de tiempo de ejecución db2, dependiendo del sistema operativo de la máquina.

Sí.Esto debería suceder en Windows 7 y no en Windows XP.La alma es:

  • haga clic derecho en el proyecto en el explorador de soluciones
  • Propiedades
  • Pestaña compilar (lado izquierdo)
  • Desplácese hacia abajo para ver Opción de compilación avanzada botón
  • Cambiar el menú desplegable CPU objetivo a x86.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top