AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / Conectores Nativos/Accesos Nativos / Conector Nativo Oracle
  • 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
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
Conector Nativo Oracle: Características específicas y observaciones
Conectores NativosDisponible solo con este tipo de conexión
Presentació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.
Del mismo modo, las funciones HLockRecNum y HUnlockRecNum solo pueden utilizarse en el 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íficasFunciones 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
Versión mínima requerida
  • Versión 9
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 23/11/2023

Señalar un error o enviar una sugerencia | Ayuda local