REVISIÓN: Aparece un mensaje de error cuando ejecuta una instrucción SQL mediante el proveedor de OLE DB para DB2: "SQLSTATE 22007 SQLCODE 181"

Seleccione idioma Seleccione idioma
Id. de artículo: 924599 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Síntomas

Tenga en cuenta la situación siguiente. Ejecutar una instrucción SQL mediante proveedor Microsoft OLE DB para DB2. La instrucción SQL pasa un parámetro de fecha y hora de Microsoft SQL Server a una columna de la base de datos IBM DB2. La Columna de base de datos IBM DB2 utiliza el tipo de datos IBM DB2 DATE. En este escenario, puede aparecer el siguiente mensaje de error:
SQLSTATE: 22007, SQLCODE:-181
Por ejemplo, la siguiente instrucción SQL pasa un parámetro de tipo datetime de SQL Server a una columna de la base de datos IBM DB2.
declare @var1 datetime
set @var1 = '2006-09-27 00:00:00.000'
SELECT COL1, COL2, COL3
FROM IBMDB2.TESTDATA.USER1.TABLE1
WHERE COL2 = @var1
En este ejemplo, este problema se produce si la columna COL2 que utiliza el tipo de datos IBM DB2 DATE.

Causa

En tiempo de ejecución, el proveedor OLE DB para DB2 no sabe el tipo de datos IBM DB2 correcto para la columna de la base de datos IBM DB2 para que se pasa el parámetro de tipo datetime de SQL Server. Por tanto, el proveedor OLE DB para DB2 incluye la información de fecha y la información de tiempo en el valor de proveedor OLE DB para DB2 pasa a la base de datos IBM DB2. La información de hora no es válida para el tipo de datos IBM DB2 DATE. Por tanto, recibir mensaje de error que se menciona en la sección "Síntomas".

Solución

Microsoft Host Integration Server 2006

Para resolver este problema, obtenga el service pack más reciente para Host Integration Server 2006. Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
979497Cómo obtener el service pack más reciente de Host Integration Server 2006

Microsoft Host Integration Server 2004

Hay un hotfix compatible de Microsoft. Sin embargo, esta revisión se diseñó para corregir el problema descrito en este artículo. Esta revisión sólo se aplican a los sistemas que experimenten este problema específico. Esta revisión podría ser sometida a comprobaciones adicionales. Por tanto, si no se ve muy afectado por este problema, recomendamos que espere a la siguiente actualización de software que contenga este hotfix.

Si la revisión está disponible para su descarga, hay una sección de "Descarga de revisión disponible" en la parte superior de este artículo de Knowledge Base. Si esta sección no aparece, póngase en contacto con los servicios de cliente de Microsoft y soporte técnico para obtener la revisión.

Nota Si se producen problemas adicionales o si cualquier solución de problemas es necesario, es posible que deba crear una solicitud de servicio independiente. Los costos habituales de soporte se aplicarán a las preguntas de soporte técnico adicionales y problemas que no reúnan las condiciones necesarias para esta revisión en cuestión. Para obtener una lista completa de números de teléfono de Microsoft servicios de soporte técnico y de asistencia al cliente o para crear una solicitud de servicio independiente, visite el siguiente sitio Web de Microsoft:
http://support.microsoft.com/contactus/?ws=support
Nota El formulario de "Descarga de revisión disponible" muestra los idiomas para que la revisión está disponible. Si no ve su idioma, es porque una revisión no está disponible para ese idioma.

Información de archivo

La versión en inglés de este hotfix tiene los atributos de archivo (o atributos de último archivo) mostrados en la siguiente tabla. Las fechas y horas de estos archivos se muestran en hora universal coordinada (UTC). La información de los archivos se convertirá a la hora local cuando la vea. Para averiguar la diferencia entre la hora UTC y la hora local, utilice la ficha zona horaria en el elemento fecha y hora en el panel de control.
Contraer esta tablaAmpliar esta tabla
Nombre de archivoArchivo VersiónTamaño del archivoFechaTiempoPlataformaRequisito de SP
Db2oledb.dll6.0.2048.0488,96003-Nov-200617: 31x 86SP1
Db2oledb.hNo aplicable24,57903-Nov-200617: 36No aplicableSP1
Ddmstr.dll6.0.2048.044,03203-Nov-200617: 31x 86SP1
Drdaresync.exe6.0.2048.0337,40803-Nov-200617: 32x 86SP1
Microsoft.hostintegration.dataaccesslibrary.dll6.0.2048.086.01603-Nov-200617: 31x 86SP1
Microsoft.hostintegration.dataaccesstool.exe6.0.2048.02,703,36003-Nov-200617: 32x 86SP1
Microsoft.hostintegration.msdb2client.dll6.0.2048.0114,68803-Nov-200617: 31x 86SP1
Mseidb2c.dll6.0.2048.071,68003-Nov-200617: 31x 86SP1
Mseidb2d.dll6.0.2048.0435,20003-Nov-200617: 31x 86SP1
Mseidrda.dll6.0.2048.0695,80803-Nov-200617: 32x 86SP1
Nota Debido a la interdependencia entre archivos, la revisión más reciente que contiene estos archivos también puede contener archivos adicionales.

Proveedor Microsoft OLE DB para DB2 versión 1.0

Hay un hotfix compatible de Microsoft. Sin embargo, esta revisión se diseñó para corregir el problema descrito en este artículo. Esta revisión sólo se aplican a los sistemas que experimenten este problema específico. Esta revisión podría ser sometida a comprobaciones adicionales. Por tanto, si no se ve muy afectado por este problema, recomendamos que espere a la siguiente actualización de software que contenga este hotfix.

Si la revisión está disponible para su descarga, hay una sección de "Descarga de revisión disponible" en la parte superior de este artículo de Knowledge Base. Si esta sección no aparece, póngase en contacto con los servicios de cliente de Microsoft y soporte técnico para obtener la revisión.

Nota Si se producen problemas adicionales o si cualquier solución de problemas es necesario, es posible que deba crear una solicitud de servicio independiente. Los costos habituales de soporte se aplicarán a las preguntas de soporte técnico adicionales y problemas que no reúnan las condiciones necesarias para esta revisión en cuestión. Para obtener una lista completa de números de teléfono de Microsoft servicios de soporte técnico y de asistencia al cliente o para crear una solicitud de servicio independiente, visite el siguiente sitio Web de Microsoft:
http://support.microsoft.com/contactus/?ws=support
Nota El formulario de "Descarga de revisión disponible" muestra los idiomas para que la revisión está disponible. Si no ve su idioma, es porque una revisión no está disponible para ese idioma.

Información de archivo

La versión en inglés de este hotfix tiene los atributos de archivo (o atributos de último archivo) mostrados en la siguiente tabla. Las fechas y horas de estos archivos se muestran en hora universal coordinada (UTC). La información de los archivos se convertirá a la hora local cuando la vea. Para averiguar la diferencia entre la hora UTC y la hora local, utilice la ficha zona horaria en el elemento fecha y hora en el panel de control.
versión de 32 bits (x 86)
Contraer esta tablaAmpliar esta tabla
Nombre de archivoArchivo VersiónTamaño del archivoFechaTiempoPlataformaRequisito de SP
Db2oledb.dll6.0.2048.0488,96003-Nov-200617: 31x 86SP1
Db2oledb.hNo aplicable24,57903-Nov-200617: 36No aplicableSP1
Ddmstr.dll6.0.2048.044,03203-Nov-200617: 31x 86SP1
Drdaresync.exe6.0.2048.0337,40803-Nov-200617: 32x 86SP1
Microsoft.hostintegration.dataaccesslibrary.dll6.0.2048.086.01603-Nov-200617: 31x 86SP1
Microsoft.hostintegration.dataaccesstool.exe6.0.2048.02,703,36003-Nov-200617: 32x 86SP1
Microsoft.hostintegration.msdb2client.dll6.0.2048.0114,68803-Nov-200617: 31x 86SP1
Mseidb2c.dll6.0.2048.071,68003-Nov-200617: 31x 86SP1
Mseidb2d.dll6.0.2048.0435,20003-Nov-200617: 31x 86SP1
Mseidrda.dll6.0.2048.0695,80803-Nov-200617: 32x 86SP1
versión de 64 bits (x 64)
Contraer esta tablaAmpliar esta tabla
Nombre de archivoArchivo VersiónTamaño del archivoFechaTiempoPlataformaTipo de servicio
Db2oledb.dll7.0.2535.0758,54407-Nov-200612: 34x 64No aplicable
Microsoft.hostintegration.dataaccesslibrary.dll7.0.2535.02,550,61607-Nov-200612: 34x 64No aplicable
Microsoft.hostintegration.dataaccesstool.exe7.0.2535.0613,20007-Nov-200612: 34x 64No aplicable
Mseidrda.dll7.0.2535.01,355,53607-Nov-200612: 34x 64No aplicable
Snanls.dll7.0.2535.0128,77607-Nov-200612: 34x 64No aplicable
Db2oledb.dll7.0.2535.0516,88007-Nov-200612: 34x 86SYSWOW
Mseidrda.dll7.0.2535.0781,07207-Nov-200612: 34x 86SYSWOW
Snanls.dll7.0.2535.0105,22407-Nov-200612: 34x 86SYSWOW
Nota Debido a la interdependencia entre archivos, la revisión más reciente que contiene estos archivos también puede contener archivos adicionales.

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados en la sección "La información de este artículo se refiere a:".

Más información

Este hotfix agrega soporte para una nueva propiedad de cadena de conexión. Mediante la propiedad de cadena de conexión nueva, puede pasar un parámetro de tipo datetime de SQL Server a una base de datos IBM DB2 como el tipo de datos IBM DB2 DATE. Proveedor OLE DB para DB2 elimina la información de tiempo en el valor del parámetro de tipo datetime de SQL Server. Por lo tanto, proveedor OLE DB para DB2 pasa la información de fecha a la base de datos IBM DB2.

La nueva propiedad de cadena de conexión tiene la siguiente definición:
DateTime As Date = Value
En esta propiedad de cadena de conexión, puede definir Value como Verdadero o Falso. Si agrega el DateTime As Date = TRUE instrucción a la cadena de conexión, el proveedor OLE DB para DB2 convierte el parámetro de tipo datetime de SQL Server en el tipo de datos IBM DB2 DATE. A continuación, el proveedor OLE DB para DB2 pasa el valor a la base de datos IBM DB2.

Si agrega el DateTime As Date = FALSE instrucción a la cadena de conexión OLE DB Provider for DB2 pasa el parámetro de datetime de SQL Server a la base de datos IBM DB2 como especifique en la instrucción SQL. En este caso, proveedor OLE DB para DB2 pasa la información de fecha y la información de hora a la base de datos IBM DB2.

Nota Este comportamiento es el comportamiento predeterminado si no agrega la propiedad DateTime As Date a la cadena de conexión.

En el ejemplo de cadena de conexión siguiente se muestra cómo utilizar la propiedad DateTime As Date.
; Everything after this line is an OLE DB initialization string.
Provider=DB2OLEDB;Password=<Password>;Persist Security Info=True;User ID=<Username>;Initial Catalog=S105FRDM;Defer Prepare=False;Derive Parameters=False;Network Transport Library=TCP;Host CCSID=37;PC Code Page=1252;Network Address=<Address>;Network Port=446;Package Collection=DB2USER;Default Schema=DB2USER;Default Qualifier=DB2USER;DBMS Platform=DB2/AS400;Process Binary as Character=False;Connection Pooling=True;Units of Work=RUW;DateTime As Date=TRUE
Importante después de aplicar esta revisión y agregar el DateTime As Date = TRUE instrucción a la cadena de conexión, es posible que reciba mensaje de error siguientes:
SQLSTATE: 22007, SQLCODE: -180
Este problema se produce si la columna de base de datos IBM DB2 utiliza el tipo de datos IBM DB2 TIMESTAMP. Este problema se produce porque la base de datos IBM DB2 espera recibir la información de fecha y la información de tiempo cuando se pasa una consulta a una columna de base de datos IBM DB2 que utiliza el tipo de datos IBM DB2 TIMESTAMP. El DateTime As Date = TRUE instrucción hace que el proveedor OLE DB para DB2 eliminar la información de tiempo en el valor del parámetro de tipo datetime de SQL Server. Por lo tanto, los datos no son válidos cuando se pasa la consulta a la columna de base de datos IBM DB2 que utiliza el tipo de datos TIMESTAMP de IBM DB2.

Si debe consultar una tabla IBM DB2 que utiliza el tipo de datos IBM DB2 DATE y el tipo de datos TIMESTAMP de IBM DB2, quizás tenga que utilizar múltiples cadenas de conexión están configuradas para utilizar las propiedades correctas. A continuación, puede consultar correctamente los distintos tipos de datos IBM DB2.

Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
824684Descripción de la terminología estándar utilizada para describir las actualizaciones de software de Microsoft
Los productos de terceros que se analizan en este artículo están fabricados por compañías independientes de Microsoft. Microsoft no otorga ninguna garantía, implícita o de otro tipo, acerca del rendimiento o confiabilidad de estos productos.

Propiedades

Id. de artículo: 924599 - Última revisión: jueves, 04 de febrero de 2010 - Versión: 2.0
La información de este artículo se refiere a:
  • Microsoft Host Integration Server 2006 Enterprise Edition
  • Microsoft Host Integration Server 2006
  • Microsoft Host Integration Server 2004 Enterprise Edition
  • Microsoft Host Integration Server 2004 Standard Edition
  • Microsoft OLE DB Provider for DB2
Palabras clave: 
kbmt kbautohotfix kbdb2oledb kbhis2004 kbfix kbbug kbhotfixserver kbqfe kbpubtypekc KB924599 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 924599

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com