Acceso produce un error al exportar campos con tipo de datos simples o doble a Oracle

Seleccione idioma Seleccione idioma
Id. de artículo: 301915 - Ver los productos a los que se aplica este artículo
Moderada: Requiere macro básico, codificación y las capacidades de interoperabilidad.

Este artículo hace referencia a una base de datos de Microsoft Access (.mdb) y a un proyecto de Microsoft Access (.adp).

Expandir todo | Contraer todo

Síntomas

Cuando se utiliza el controlador ODBC de Oracle para exportar un acceso tabla que tiene campos de tipo de datos Single o Double, el controlador no exporte esos campos como sigue.
El controlador Microsoft Oracle muestra el mensaje de error siguientes:
Microsoft Access no pudo anexar todos los datos a la tabla.

<number>Se elimina el contenido de los campos de <número> registros y se perdieron debido a infracciones de claves 0 registros.
  • Si se ha eliminado datos, los datos que pegó o importó se no utilizar para coinciden con a los tipos de datos de campo o la propiedad FieldSize en la tabla de destino.
  • Si se han perdido o los registros que pegó contienen valores de clave principal que ya existen en la tabla de destino o bien infringen reglas de integridad referencial para una relación definida entre tablas.
    ¿Desea continuar?
Los controladores de ODBC para Oracle hasta y versión incluyendo 8.1.6 mostrar el mensaje de error siguientes:
ODBC: falló la llamada
[Oracle][ODBC][ORA] Insertado de ORA-01401: Valor demasiado grande para la columna (1401 #)

Causa

En Microsoft Access 97, el proceso de exportación convierte la Single y Double campos de tipo de datos a VarChar2(40). Sin embargo, en Microsoft Access 2000 y versiones posteriores, los campos se convierten en VarChar2(4), que es demasiado pequeño para contener los datos.

Solución

Para exportar correctamente los datos para Oracle, utilice una consulta basada en las tablas relevantes. Utilice la función CStr() para convertir el tipo de datos en String.

Por ejemplo, considere la siguiente sintaxis SQL:
SELECT tblExample.pkeyDataID, tblExample.dblTest
FROM tblExample;
				
donde dblTest es un campo con un tipo de datos de doble. Convertir dblTest en un tipo de datos String haciendo clic en el siguiente cambio en la sintaxis SQL:
SELECT tblExample.pkeyDataID, CStr([dblTest]) AS Expr1
FROM tblExample;
				
Ahora se puede exportar correctamente la consulta a Oracle.

Este problema se resuelve en Microsoft Jet 4.0 Database Engine Service Pack 8 (SP8). Para obtener más información acerca de Microsoft Jet 4.0 Database Engine SP8, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
829558Información sobre Jet 4.0 Service Pack 8

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:" de este artículo.

Más información

Los productos de terceros mencionados en este artículo son fabricados por compañías independientes de Microsoft. Microsoft no otorga ninguna garantía, implícita o de otro tipo, respecto al rendimiento o confiabilidad de estos productos.

Propiedades

Id. de artículo: 301915 - Última revisión: lunes, 26 de marzo de 2007 - Versión: 5.1
La información de este artículo se refiere a:
  • Microsoft Office Access 2007
  • Microsoft Office Access 2003
  • Microsoft Access 2002 Standard Edition
  • Microsoft Access 2000 Standard Edition
Palabras clave: 
kbmt kbexport kbbug kberrmsg kbnofix KB301915 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): 301915

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