|
|
|
|
- Presentación
- Principales observaciones
- Versiones necesarias
- Unicode en Oracle
- Bloqueo de archivos de datos (tablas) en una transacción
- Gestión del identificador automático en modo de escritura: uso de una secuencia de Oracle
- Formato de fecha
- Número de registro
- Lista de tablas a las que accede el Conector Nativo Oracle según el esquema SYS
- Gestión de sinónimos
- Valores de Default de los artículos
- Manejo de elementos calculados
- Principales características específicas
- Opciones de análisis
- Cadenas vacías y valor NULL
- Campos de tipo Array
- Restricciones de integridad referencial
- Bloqueo de registros
- Usando una consulta (con la constante hQueryWithoutCorrection) con HAdd, HModify o HDelete
- Características específicas de las funciones HFSQL y SQL
Conector Nativo Oracle: Características específicas y observaciones
Disponible solo con este tipo de conexión
En los siguientes párrafos se presentan los principales aspectos y características específicas del Conector Nativo Oracle. Principales observaciones Versiones necesarias Atención: Esta versión de Conector Nativo Oracle sólo es compatible con WINDEV y WEBDEV 2024. Unicode en Oracle - Para gestionar contenido Unicode en Oracle, se debe instalar la versión 9i (o posterior) de la biblioteca cliente..
- Si se cumplen las siguientes condiciones, la nota unicode se trunca a 4000 caracteres:
- Uso de la condición de selección LIKE con la cláusula ESCAPE,
- Memo Unicode,
- Servidor en la versión 9.
Bloqueo de archivos de datos (tablas) en una transacción La función HLockFile inicia una transacción y bloquea la tabla en modo exclusivo. La función HUnlockFile valida la transacción y desbloquea la tabla. Gestión del identificador automático en modo de escritura: uso de una secuencia de Oracle El tipo ID automático no está disponible en Oracle. Este tipo de campo no se crea al importar una tabla de Oracle. Sin embargo, los campos de tipo "4-byte integer" y "8-byte integer" pueden modificarse en el editor de análisis para ser definidos como identificadores automáticos. En este caso, el Conector Nativo Oracle gestionará los identificadores automáticos (al agregar o actualizar registros) mediante una "Secuencia" de Oracle denominada "WINDEV_SEQ". Si esta secuencia no existe, el Conector Nativo Oracle la crea automáticamente. Para agregar o modificar registros con identificadores automáticos, debe: - modificar el análisis. Los campos de tipo "4-byte integer" y "8-byte integer" pueden definirse como "Identificadores automáticos". En este caso, el Conector Nativo Oracle manipulará estos campos como identificadores automáticos.
- crear una "secuencia" llamada "WINDEV_SEQ" en la base de datos Oracle.
- conceder el privilegio "CREATE SEQUENCE" al usuario.
Formato de fecha Al insertar o actualizar una fecha en una consulta ejecutada por la función SQLExec, el formato predeterminado del Conector Nativo Oracle es: "AAAAMMDDHHmmSS". En WINDEV 5.5, el formato de fecha dependía de los parámetros especificados durante la conexión (configuración predeterminada de la biblioteca cliente de Oracle). En WINDEV, para modificar el formato por defecto de las fechas, visualice la ventana description de la conexión utilizada y seleccione "Formato de conexión Default" en el cuadro combinado "Formato de fecha".. También puede especificar un formato de fecha personalizado. En este caso, el formato debe ser compatible con los comandos INSERT y UPDATE. Observación: Las fechas vacías corresponden a cadenas completadas por ceros. Número de registro No se puede especificar un número de registro distinto de cero en las funciones HWrite y HRead. "Cero" corresponde al número de registro actual. Lista de tablas a las que accede el Conector Nativo Oracle según el esquema SYS El Conector Nativo Oracle intenta acceder a las siguientes tablas según el esquema SYS: - V$VERSION
- ALL_OBJECTS
- ALL_IND_COLUMNS
- SYS.ALL_TABLES
- SYS.ALL_VIEWS
- Opcional: SYS.ALL_SOURCE
De forma predeterminada, Oracle bloquea estas tablas en modo de solo lectura. Puede que sea necesario conceder el permiso SELECT en las tablas. Gestión de sinónimos El Conector Nativo Oracle gestiona sinónimos: - Puede acceder a un archivo utilizando el nombre o el sinónimo.
- La función HListFile muestra los sinónimos con las vistas.
- Los sinónimos se importan como descripciones de archivos en el análisis.
Atención: HCreation utilizado en un archivo description encontrado en el análisis siempre crea un tabla, independientemente de su origen (tabla, vista o sinónimo). Valores de Default de los artículos El Conector Nativo Oracle admite los valores de los elementos de Default. Los valores de Default pueden ser: - un valor,
- una fórmula SQL. En este caso, la expresión SQL debe ser reconocida por el motor HFSQL y por la base de datos Oracle..
Manejo de elementos calculados Los elementos calculados se pueden utilizar en los archivos de datos. La gestión de los elementos calculados está disponible a partir de la versión 11g de Oracle (y posteriores).. Principales características específicas Opciones de análisis - Tanto si las opciones "Sensible a mayúsculas y minúsculas", "Sensible a la acentuación", "Sensible a la puntuación" están marcadas como si no en la editor de análisis, la búsqueda siempre será sensible a mayúsculas, minúsculas, acentuación y puntuación.
- La Conector Nativo Oracle no soporta las opciones de índice de texto completo del análisis.
- La Conector Nativo Oracle no soporta las opciones de indexación de notas de texto de la Partial.
Cadenas vacías y valor NULL Los valores "Empty string" son interpretados por Oracle como el valor NULL. Cuando se realiza una búsqueda ascendente, el comando ORDER BY rechaza todos los valores NULL al final de la búsqueda. Campos de tipo Array La Conector Nativo Oracle no apoya los artículos de la Array. Si está utilizando un elemento array, sólo el valor del índice 1 en la array será manejado por las funciones HFSQL (lectura/escritura). Para gestionar este tipo de elementos, hay que modificar la estructura de sus archivos de datos para sustituir los elementos indexados por varios elementos. Observación: En programación, tendrá la posibilidad de utilizar la indirección a manipular de estos elementos de forma genérica. El siguiente código con un elemento indexado:
nItemIndex is int
FOR nItemIndex = 1 TO 10
Queue.ArrayItem[nItemIndex] = "Value"
END
Se convierte en elementos cuyo nombre contiene un número:
nItemIndex is int
FOR nItemIndex = 1 TO 10
{"File.ArrayItem" + nItemIndex, indItem} = "Value"
END
Restricciones de integridad referencial Las restricciones de integridad referencial descritas en el análisis no se crean automáticamente en la base de datos con HCreation. Las restricciones de integridad referenciales deben describirse en la base de datos a la que se accede. Bloqueo de registros Las opciones de bloqueo (constantes hLockWrite y hLockReadWrite) que pueden utilizarse con las funciones HFSQL tienen el mismo efecto: bloqueo de escritura. Oracle no soporta bloqueos de sólo lectura. Usando una consulta (con la constante hQueryWithoutCorrection) con HAdd, HModify o HDelete Si se manipula una consulta con la constante hQueryWithoutCorrection, se debe iniciar una transacción antes de utilizar la consulta con las funciones HAdd, HModify o HDelete. Esta transacción se utiliza para evitar el error "ORA2002: Extracción fuera de secuencia" al navegar por la consulta. Ejemplo: S1 is Data Source SQLTransaction(sqlStart, MyConnection) HExecuteSQLQuery(S1, MyConnection, hQueryWithoutCorrection, "select * from orders") HReadFirst(S1) WHILE NOT HOut(S1) HReadSeekFirst(Customer, CUUniqueKey, S1.CUUniqueKey) IF HFound(Customer) THEN Customer.NbOrder = Order.NbOrder HModify(Customer) END HReadNext(S1) END SQLTransaction(sqlCommit, MyConnection)
Características específicas de las funciones HFSQL y SQL Las características específicas para utilizar las funciones HFSQL con Conector Nativo Oracle son las siguientes: | | Características específicas | Funciones afectadas |
---|
La constante hAffectBrowse no se tiene en cuenta. Al final de la operación, la búsqueda continúa desde el Record que era el Record actual antes de la adición o la modificación. | HAdd, HModify | La constante hDistinct no se tiene en cuenta: todos los registros (incluyendo los duplicados) serán examinados. | HForward, HBackward, HReadPrevious, HReadNext, ETC HPrevious, HNext, ETC | Consulta de varios archivos. Las funciones HAdd, HModify y HDelete no están soportadas. | HAdd, HModify, HDelete | Las funciones HSeek*, HFirst y HNext permiten posicionarse en un registro sin leerlo. En esta versión, estas funciones también leen el Record. Este problema se solucionará en una próxima versión. | HSeek, HFirst, HNext | Si se produce un error duplicado en HModify , HRead (con la constante hCurrentRecNum ) no lee el Record solicitado. Este problema se solucionará en una próxima versión. | HRead | Después de HAdd , Conector Nativo no vuelve a leer el Record. Si la base de datos modifica los valores de Record , use HRead para recuperar los nuevos valores. | HAdd |
Esta página también está disponible para…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|