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 SQLite
  • Presentación
  • Principales observaciones
  • Versiones necesarias
  • Tipo y contenido de los artículos
  • Tipo declarado
  • Tipo NUMÉRICO o DECIMAL
  • Identificador de automatic
  • Unicode
  • Sensibilidad a los casos
  • Sensibilidad a los caracteres acentuados y especiales
  • Comentarios y características específicas de Native SQLite Connector
  • Optimización de las operaciones de escritura múltiple
  • Lotes de consultas
  • Función de creación de HC
  • Bloqueo de registros
  • Comandos SQL no soportados
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 SQLite: Características específicas y observaciones
Conectores NativosDisponible solo con este tipo de conexión
Presentación
Los siguientes párrafos presentan los aspectos principales y las características específicas del Conector Nativo de SQLite.
Principales observaciones

Versiones necesarias

Atención: Esta versión del conector SQLite nativo sólo es compatible con WINDEV y/o WEBDEV 2024.
Tipo y contenido de los artículos

Tipo declarado

En las bases de datos SQLite, los elementos tienen un tipo "declarado. Sin embargo, el tipo de cada valor puede diferir de este tipo "declarado.
Se puede almacenar cualquier valor, de cualquier longitud, en cualquier tipo de elemento, teóricamente sin pérdida (ejemplo: 'toto' puede almacenarse en un elemento entero).
Este modo de operación no está disponible en HFSQL. Por lo tanto, la Conector Nativo intentará convertir el valor leído en la base de datos en el tipo "declarado" del artículo.
Solución alternativa: Le aconsejamos que fuerce el tipo del elemento en el análisis a "Texto".. En este caso, el Native Access convertirá todos los valores en el tipo de texto, permitiéndole leer y mostrar cualquier tipo de valor.
SQLite almacena los valores en uno de los siguientes tipos:
  • NULL.
  • INTEGER.
  • REAL.
  • TEXTO.
  • BLOB.
Para más detalles, consulte la documentación sobre SQLite.

Tipo NUMÉRICO o DECIMAL

El modo de funcionamiento interno de SQLite limita la precisión de los elementos NUMERIC a 15 dígitos porque el valor se almacena como real.

Identificador de automatic

En SQLite, cada Record tiene un identificador único cuyo tipo es un entero de 64 bits: el ROWID.
Aunque Default "oculta" este elemento mediante el motor SQLite, siempre es posible acceder a él utilizando uno de los siguientes nombres:
  • "ROWID",
  • "_ROWID_",
  • "OID".
En la mayoría de los casos, las búsquedas realizadas en el identificador "ROWID" son dos veces más rápidas que las búsquedas realizadas en cualquier otra clave primaria.
Por lo tanto, el Conector SQLite Nativo importa sistemáticamente la columna "ROWID" para mejorar el rendimiento.
Observaciones:
  • Si un fichero tiene un elemento "INTEGER PRIMARY KEY", este elemento es un alias del elemento "ROWID".. En este caso, el elemento ROWID se importará bajo este nombre.
  • Si el nombre "ROWID" ya es utilizado por otro elemento de fichero, la Conector Nativo utilizará uno de los otros nombres del identificador único: "_ROWID_" o "OID".

Unicode

Todos los strings están en formato UNICODE.
Todos los intercambios con el motor SQLite se realizan en UTF8.
Si un string está en formato ANSI en el análisis, Conector Nativo realiza automáticamente todas las conversiones necesarias.

Sensibilidad a los casos

Conector Nativo gestiona la sensibilidad a las mayúsculas y minúsculas ("intercalar binario" o "intercalar nocase") al crear o importar un fichero existente.
La insensibilidad al mayúsculas y minúsculas se gestiona sólo para los caracteres latinos 1.

Sensibilidad a los caracteres acentuados y especiales

Todos los artículos son siempre sensibles a los caracteres acentuados y especiales de una base de datos SQLite.
Comentarios y características específicas de Native SQLite Connector

Optimización de las operaciones de escritura múltiple

Cada operación de escritura (realizada por HAdd, HModify, HDelete) se realiza en una transacción.
Si no se inicia ninguna operación, se inicia automáticamente una operación antes de la operación y se termina automáticamente después de la operación.
Consejo: El rendimiento de un bucle de escritura mejorará si todas las operaciones se realizan en la misma transacción. Para ello, todo lo que tienes que hacer es llamar a SQLTransaction antes del bucle y a SQLTransaction después del bucle.
Ejemplo:
SQLTransaction(sqlStart, <Connection>)

// Write loop
// ...

SQLTransaction(sqlCommit, <Connection>)

Lotes de consultas

Conector Nativo no admite las consultas por lotes (es decir, varias consultas separadas por ';' ejecutadas a la vez)..
Se debe ejecutar una sola consulta cada vez.
Consejo: Puede iniciar una transacción, ejecutar/leer todas las consultas una a una y finalizar la transacción.

Función de creación de HC

HCreation puede fallar (error "base de datos tabla bloqueada") si se cumplen las siguientes condiciones:
  • el fichero a crear ya existe.
  • una iteración está en curso en otro archivo de la misma base de datos.
Esto se debe a una limitación de la base de datos SQLite.

Bloqueo de registros

Las opciones de bloqueo (constantes hLockWrite y hLockReadWrite ) que se pueden usar con funciones HFSQL no son compatibles con esta versión.
Observación: Sólo las cerraduras set por funciones SQL son soportadas. SQLite soporta bloqueos de set en los archivos de datos solamente.

Comandos SQL no soportados

El Native SQLite Connector no soporta:
  • Las siguientes declaraciones:
    • INSTR
    • PATINDEX
    • ARRIBA
    • FONDO
    • REGISTRO
    • LN
    • EXP
    • POWER
    • FIRMA
    • SQRT
    • COS
    • SIN
    • TAN
    • MOD
    • MID
    • JUNTO DERECHO Y COMPLETO EXTERIOR
  • las concatenaciones de estilo (por ejemplo, SELECT CUSTOMER.CITY + '////' + CUSTOMER.ZIPCODE AS CONCAT1 FROM CUSTOMER WHERE CUSTOMER.CITY + '////' + CUSTOMER.ZIPCODE LIKE 'O%')
Versión mínima requerida
  • Versión 16
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