Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
El proveedor de datos de .NET Framework para Oracle requiere microsoft Data Access Components (MDAC) versión 2.6 o posterior. Se recomienda MDAC 2.8 SP1.
También debe tener instalado el cliente de Oracle 8i Release 3 (8.1.7) o posterior.
El software cliente de Oracle anterior a la versión Oracle 9i no puede acceder a bases de datos UTF16 porque UTF16 es una nueva característica en Oracle 9i. Para usar esta característica, debe actualizar el software cliente a Oracle 9i o posterior.
Trabajar con el proveedor de datos para datos Oracle y Unicode
A continuación se muestra una lista de problemas relacionados con Unicode que debe tener en cuenta al trabajar con el proveedor de datos de .NET Framework para las bibliotecas cliente de Oracle y Oracle. Para más información, consulte la documentación de Oracle.
Establecimiento del valor Unicode en un atributo de cadena de conexión
Al trabajar con Oracle, puede usar el atributo de cadena de conexión.
Unicode=True
para inicializar las bibliotecas cliente de Oracle en modo UTF-16. Esto hace que las bibliotecas cliente de Oracle acepten UTF-16 (que es muy similar a UCS-2) en lugar de cadenas de varios bytes. Esto permite que el proveedor de datos para Oracle funcione siempre con cualquier página de códigos de Oracle sin trabajo de traducción adicional. Esta configuración solo funciona si usa clientes de Oracle 9i para comunicarse con una base de datos de Oracle 9i con el juego de caracteres alternativo de AL16UTF16. Cuando un cliente de Oracle 9i se comunica con un servidor oracle 9i, se requieren recursos adicionales para convertir los valores CommandText de Unicode en el juego de caracteres multi byte adecuado que usa el servidor Oracle9i. Esto se puede evitar cuando sepa que tiene la configuración segura agregando Unicode=True
a la cadena de conexión.
Mezcla de versiones de oracle Client y Oracle Server
Los clientes de Oracle 8i no pueden acceder a datos NCHAR, NVARCHAR2 o NCLOB en bases de datos de Oracle 9i cuando se especifica el juego de caracteres nacionales del servidor como AL16UTF16 (la configuración predeterminada para Oracle 9i). Dado que la compatibilidad con el juego de caracteres UTF-16 no se introdujo hasta Oracle 9i, los clientes de Oracle 8i no pueden leerlo.
Trabajar con datos UTF-8
Para definir el juego de caracteres alternativo, establezca la clave del Registro HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOMEID\NLS_LANG en UTF8. Consulte las notas de instalación de Oracle en su plataforma para obtener más información. La configuración predeterminada es el juego de caracteres principal del idioma desde el que va a instalar el software cliente de Oracle. No establecer el idioma para que coincida con el juego de caracteres de idioma nacional de la base de datos a la que se conecta hará que los enlaces de parámetros y columnas envíen o reciban datos en el juego de caracteres de la base de datos principal, no en el juego de caracteres nacionales.
OracleLob solo puede actualizar caracteres completos.
Por motivos de facilidad de uso, el OracleLob objeto hereda de la clase Stream de .NET Framework y proporciona métodos ReadByte y WriteByte . También implementa métodos, como CopyTo y Erase, que funcionan en secciones de objetos LOB de Oracle. En cambio, el software cliente de Oracle proporciona una serie de API para trabajar con loBde caracteres (CLOB y NCLOB). Sin embargo, estas API solo funcionan en caracteres completos. Debido a esta diferencia, el proveedor de datos para Oracle implementa compatibilidad con Read y ReadByte para trabajar con datos UTF-16 de manera orientada a bytes. Sin embargo, los otros métodos del objeto OracleLob solo permiten operaciones de caracteres completos.