PC SOFT

AYUDA EN LÍNEA
DE WINDEV, WEBDEV Y WINDEV MOBILE

Este contenido proviene de una traducción automática.. Haga clic aquí para ver la versión original en inglés.
  • Presentación
  • Configuración necesaria
  • Capa de cliente necesaria
  • Instant Client (solución recomendada)
  • Capa completa de cliente Oracle
  • Notas comunes a las 2 capas de clientes
  • Compatibilidad
  • Compatibilidad con las capas de cliente de Oracle 8i
  • Compatibilidad con Oracle 7.3
  • Compatibilidad con WDORAINS.EXE
  • Uso
  • Utilizar Conector Nativo Oracle en sus aplicaciones WINDEV o sitios WEBDEV:
  • Optimización de las funciones HFSQL
  • Gestión del conjunto de caracteres/el idioma/el territorio
  • Modo de funcionamiento en la versión 16 y anteriores
  • Modo de funcionamiento en la versión 17 y posteriores
  • Atención
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Otros
Procedimientos almacenados
Presentación
WINDEV y WEBDEV 25 proponen un Conector Nativo Oracle opcional (también llamado Native Oracle Access). Este Conector Nativo le permite acceder a una base de datos Oracle desde un programa WLanguage sin necesidad de utilizar ningún controlador externo.
Beneficios de usar Conector Nativo Oracle:
  • Las funciones HReadxxx (HReadNext, HModify, ....) se pueden utilizar en las bases de datos Oracle. Por lo tanto, una base de datos Oracle y una base de datos HFSQL son manejadas por los mismos comandos. Se simplifica la adaptación de una aplicación existente a bases de datos externas..
  • El RAD permite generar el código con las funciones Hxxx (HReadNext, ...) o con las funciones SQLxxx.
  • Acceso directo a una base de datos Oracle sin capa intermedia: MDAC, OLE DB y ODBC son inútiles.
  • WDMap (visor de datos) puede ser utilizado en sus bases de datos Oracle.
  • La configuración es sencilla: No se requiere una capa de OLE DB u ODBC en la computadora del usuario.
  • Todas las versiones de bases de datos Oracle son compatibles.
  • etc.
El uso de esta Conector Nativo es muy recomendable para el desarrollo de aplicaciones Cliente/Servidor (que acceden a las bases de datos Oracle) con WINDEV.. Siéntase libre de ir a contáctenos para cualquier información adicional..
Observaciones:
  • Para comprar Conector Nativo Oracle, póngase en contacto con el departamento de ventas de PC SOFT.
  • Versiones 16 y posteriores
    La Conector Nativo Oracle está disponible en 32 bits y en 64 bits.
    Nueva funcionalidad versión 16
    La Conector Nativo Oracle está disponible en 32 bits y en 64 bits.
    La Conector Nativo Oracle está disponible en 32 bits y en 64 bits.
  • Versiones 21 y posteriores
    El Conector Nativo Oracle está disponible en Windows y Linux.
    Nueva funcionalidad versión 21
    El Conector Nativo Oracle está disponible en Windows y Linux.
    El Conector Nativo Oracle está disponible en Windows y Linux.
Configuración necesaria

Capa de cliente necesaria

La Conector Nativo es compatible con las siguientes capas de clientes Oracle :
  • Versiones 17 y posteriores
    Cliente Instantáneo (solución recomendada).
    Nueva funcionalidad versión 17
    Cliente Instantáneo (solución recomendada).
    Cliente Instantáneo (solución recomendada).
  • Capa completa de cliente Oracle.
Versiones 17 y posteriores

Instant Client (solución recomendada)

Esta capa de cliente, disponible a través de Oracle 10g, no requiere ninguna configuración.. Es la capa de cliente más ligera.
Windows Simplemente copie las DLLs del archivo ZIP (por ejemplo, "instantclient-basic-nt-11.2.0.2.0.0.0.zip", disponible en www.oracle.com) al directorio de la aplicación, o a un directorio PATH.
Versiones 21 y posteriores
Linux Simplemente descargue el archivo ZIP de la capa de cliente (por ejemplo, "instantclient-basicxxxxxx.zip", disponible en www.oracle.com) e instale la capa de cliente (consulte la documentación de Oracle para la configuración).. Si es necesario, cree un enlace simbólico al módulo de la capa de cliente "libclntsh.so".
Nueva funcionalidad versión 21
Linux Simplemente descargue el archivo ZIP de la capa de cliente (por ejemplo, "instantclient-basicxxxxxx.zip", disponible en www.oracle.com) e instale la capa de cliente (consulte la documentación de Oracle para la configuración).. Si es necesario, cree un enlace simbólico al módulo de la capa de cliente "libclntsh.so".
Linux Simplemente descargue el archivo ZIP de la capa de cliente (por ejemplo, "instantclient-basicxxxxxx.zip", disponible en www.oracle.com) e instale la capa de cliente (consulte la documentación de Oracle para la configuración).. Si es necesario, cree un enlace simbólico al módulo de la capa de cliente "libclntsh.so".
El parámetro "Data Source" de la conexión WINDEV o WEBDEV tendrá el siguiente formato :
"//host:[port][/service name]"
Con:
  • host: Nombre del ordenador que alberga el servidor Oracle.
  • Port: Número del puerto elegido al instalar el servidor Oracle.
  • nombre del servicio: Nombre del servicio elegido al instalar el servidor Oracle.
Nueva funcionalidad versión 17

Instant Client (solución recomendada)

Esta capa de cliente, disponible a través de Oracle 10g, no requiere ninguna configuración.. Es la capa de cliente más ligera.
Windows Simplemente copie las DLLs del archivo ZIP (por ejemplo, "instantclient-basic-nt-11.2.0.2.0.0.0.zip", disponible en www.oracle.com) al directorio de la aplicación, o a un directorio PATH.
Versiones 21 y posteriores
Linux Simplemente descargue el archivo ZIP de la capa de cliente (por ejemplo, "instantclient-basicxxxxxx.zip", disponible en www.oracle.com) e instale la capa de cliente (consulte la documentación de Oracle para la configuración).. Si es necesario, cree un enlace simbólico al módulo de la capa de cliente "libclntsh.so".
Nueva funcionalidad versión 21
Linux Simplemente descargue el archivo ZIP de la capa de cliente (por ejemplo, "instantclient-basicxxxxxx.zip", disponible en www.oracle.com) e instale la capa de cliente (consulte la documentación de Oracle para la configuración).. Si es necesario, cree un enlace simbólico al módulo de la capa de cliente "libclntsh.so".
Linux Simplemente descargue el archivo ZIP de la capa de cliente (por ejemplo, "instantclient-basicxxxxxx.zip", disponible en www.oracle.com) e instale la capa de cliente (consulte la documentación de Oracle para la configuración).. Si es necesario, cree un enlace simbólico al módulo de la capa de cliente "libclntsh.so".
El parámetro "Data Source" de la conexión WINDEV o WEBDEV tendrá el siguiente formato :
"//host:[port][/service name]"
Con:
  • host: Nombre del ordenador que alberga el servidor Oracle.
  • Port: Número del puerto elegido al instalar el servidor Oracle.
  • nombre del servicio: Nombre del servicio elegido al instalar el servidor Oracle.

Instant Client (solución recomendada)

Esta capa de cliente, disponible a través de Oracle 10g, no requiere ninguna configuración.. Es la capa de cliente más ligera.
Windows Simplemente copie las DLLs del archivo ZIP (por ejemplo, "instantclient-basic-nt-11.2.0.2.0.0.0.zip", disponible en www.oracle.com) al directorio de la aplicación, o a un directorio PATH.
Versiones 21 y posteriores
Linux Simplemente descargue el archivo ZIP de la capa de cliente (por ejemplo, "instantclient-basicxxxxxx.zip", disponible en www.oracle.com) e instale la capa de cliente (consulte la documentación de Oracle para la configuración).. Si es necesario, cree un enlace simbólico al módulo de la capa de cliente "libclntsh.so".
Nueva funcionalidad versión 21
Linux Simplemente descargue el archivo ZIP de la capa de cliente (por ejemplo, "instantclient-basicxxxxxx.zip", disponible en www.oracle.com) e instale la capa de cliente (consulte la documentación de Oracle para la configuración).. Si es necesario, cree un enlace simbólico al módulo de la capa de cliente "libclntsh.so".
Linux Simplemente descargue el archivo ZIP de la capa de cliente (por ejemplo, "instantclient-basicxxxxxx.zip", disponible en www.oracle.com) e instale la capa de cliente (consulte la documentación de Oracle para la configuración).. Si es necesario, cree un enlace simbólico al módulo de la capa de cliente "libclntsh.so".
El parámetro "Data Source" de la conexión WINDEV o WEBDEV tendrá el siguiente formato :
"//host:[port][/service name]"
Con:
  • host: Nombre del ordenador que alberga el servidor Oracle.
  • Port: Número del puerto elegido al instalar el servidor Oracle.
  • nombre del servicio: Nombre del servicio elegido al instalar el servidor Oracle.

Capa completa de cliente Oracle

Esta capa de cliente, disponible desde Oracle 8i , requiere una instalación y una configuración. En la mayoría de los casos, a la configuración le sigue la definición de alias con "Oracle Net Manager" que se utiliza para especificar el contenido del archivo "tnsnames.ora".
El parámetro "Data Source" de la conexión WINDEV o WEBDEV tendrá el siguiente formato:
"Alias"
Con Alias correspondiente al nombre del alias configurado por "Oracle Net Manager".
En este caso, al abrir la conexión, la capa de cliente de Oracle busca los parámetros correspondientes a este alias (nombre del servidor, número de puerto, nombre del servicio) en el archivo "tnsnames.ora".
Los siguientes errores pueden ser reportados por la capa de cliente de Oracle al abrir la conexión si el alias no está configurado correctamente:
  • ORA-12514: TNS: el proceso de escucha no conoce actualmente el servicio solicitado en el descriptor de conexión
  • ORA-12154: TNS: el identificador de conexión especificado no se puede resolver
Este tipo de error debe ser corregido en la configuración de los alias.
El archivo "tnsnames.ora" es utilizado exclusivamente por la capa de cliente Oracle y no por la Conector Nativo.
Consulte la documentación de Oracle para más detalles.

Notas comunes a las 2 capas de clientes

  • En la mayoría de los casos, las capas de cliente de Oracle son compatibles con los servidores 2 números menos que las versiones principales.. Por ejemplo, la capa de cliente 10g se puede utilizar para conectarse a un servidor Oracle 8i.
  • Windows El Conector Nativo utiliza la DLL OCI.DLL de la capa de clientes de Oracle para acceder al servidor Oracle.. Las 2 capas de cliente mencionadas anteriormente contienen esta DLL.
    La DLL OCI.DLL se carga según el principio de carga estándar de Windows. El elemento se busca por orden de prioridad en:
    • la carpeta de la aplicación,
    • la carpeta Windows,
    • las carpetas de la variable de entorno PATH.
  • Versiones 21 y posteriores
    Linux El Conector Nativo utiliza la DLL libclntsh.so de la capa de clientes de Oracle para acceder al servidor de Oracle.. Las 2 capas de cliente mencionadas anteriormente contienen esta DLL.
    Crear (si es necesario) un enlace simbólico a este módulo. Por ejemplo:
    ln -s libclntsh.so.12.1 libclntsh.so
    Nueva funcionalidad versión 21
    Linux El Conector Nativo utiliza la DLL libclntsh.so de la capa de clientes de Oracle para acceder al servidor de Oracle.. Las 2 capas de cliente mencionadas anteriormente contienen esta DLL.
    Crear (si es necesario) un enlace simbólico a este módulo. Por ejemplo:
    ln -s libclntsh.so.12.1 libclntsh.so
    Linux El Conector Nativo utiliza la DLL libclntsh.so de la capa de clientes de Oracle para acceder al servidor de Oracle.. Las 2 capas de cliente mencionadas anteriormente contienen esta DLL.
    Crear (si es necesario) un enlace simbólico a este módulo. Por ejemplo:
    ln -s libclntsh.so.12.1 libclntsh.so
  • Una aplicación de 32 bits requiere el uso de una capa de cliente de 32 bits. Una aplicación de 64 bits requiere el uso de una capa de cliente de 64 bits. Si desarrolla una aplicación de 64 bits, es posible que tenga que instalar las versiones de 32 bits y 64 bits de la capa de cliente de Oracle en su equipo de desarrollo, ya que WINDEV y WEBDEV son aplicaciones de 32 bits.
Compatibilidad

Compatibilidad con las capas de cliente de Oracle 8i

A partir de la versión 17, el Conector Nativo se conecta utilizando el conjunto de caracteres UTF16 cuando la capa de cliente es lo suficientemente reciente, con el fin de eliminar cualquier riesgo de inconsistencia con respecto al conjunto de caracteres entre la aplicación y la capa de cliente.
Sin embargo, la capa de cliente Oracle 8i no ofrece esta posibilidad, cuando Conector Nativo detecta que la capa de cliente está en la versión 8i, Conector Nativo no especifica ningún conjunto de caracteres (modo de funcionamiento de las versiones 16 y anteriores de Conector Nativo)..
En este caso, la capa de cliente Oracle considera que el conjunto de caracteres utilizado es el conjunto de caracteres seleccionado al instalar la capa de cliente.
El desarrollador debe comprobar que el conjunto de caracteres configurado en la capa de cliente en el ordenador del usuario final es idéntico al conjunto de caracteres utilizado en la aplicación WINDEV o en el sitio WEBDEV..
Existe un riesgo de corrupción de datos si los conjuntos de caracteres no son coherentes.
La ejecución de consultas sin corrección Unicode no está disponible con una capa de cliente Oracle 8i.

Compatibilidad con Oracle 7.3

El Conector Nativo puede ser forzado a operar en modo compatible con Oracle 7.3 si hay problemas al conectarse a un servidor Oracle 7.3.
En este caso, la Conector Nativo utiliza la DLL OCIW32.DLL..
Sin embargo, algunas operaciones ya no estarán disponibles debido a las limitaciones de la capa de cliente de Oracle 7.3.
Para forzar a Conector Nativo a operar en modo compatible con Oracle 7.3, la siguiente cadena debe ser añadida a la información opcional de la conexión WINDEV o WEBDEV:
"WD CLIENT LIBRARY = 7"

Compatibilidad con WDORAINS.EXE

Se garantiza una compatibilidad total con la herramienta de configuración WDORAINS.EXE suministrada históricamente con Conector Nativo (sólo en Windows, en 32 bits).. Sin embargo, no se recomienda su uso para los nuevos desarrollos.
Todos los parámetros que podían configurarse con WDORAINS.EXE en el archivo WDORAINS.INI ahora pueden configurarse en información opcional (también llamada opciones extendidas) de conexión.
Uso

Utilizar Conector Nativo Oracle en sus aplicaciones WINDEV o sitios WEBDEV:

Para utilizar ORACLE en modo nativo, debe programar:
Observaciones:
  • No olvides leer el limitaciones con respecto al uso de Conector Nativo Oracle.
  • Para implementar sitios que utilizan Conector Nativo Oracle, el Conector Nativo Oracle debe estar instalado en el servidor (WEBDEV servidor de aplicaciones). Esta configuración se realiza desde el DVD o desde el paquete de configuración de Conector Nativo Oracle.
  • Versiones 24 y posteriores
    Gestión de errores en los hilos: Cuando se realiza una llamada a la Conector Nativo Oracle desde un hilo, es posible gestionar los errores de forma normal.
    Nueva funcionalidad versión 24
    Gestión de errores en los hilos: Cuando se realiza una llamada a la Conector Nativo Oracle desde un hilo, es posible gestionar los errores de forma normal.
    Gestión de errores en los hilos: Cuando se realiza una llamada a la Conector Nativo Oracle desde un hilo, es posible gestionar los errores de forma normal.
  • Versiones 24 y posteriores
    Conector Nativo Oracle gestiona UUIDs.
    Nueva funcionalidad versión 24
    Conector Nativo Oracle gestiona UUIDs.
    Conector Nativo Oracle gestiona UUIDs.

Optimización de las funciones HFSQL

  • TLos controles "Browsing tabla" basados en consultas se optimizan: el contenido de la control Tabla se puede ordenar haciendo clic en una de sus columnas.
  • Para evitar volver a ejecutar la misma consulta varias veces al navegar por su resultado, le recomendamos utilizar la constante hNoRefresh (por ejemplo, si un solo equipo modifica los datos).
Gestión del conjunto de caracteres/el idioma/el territorio

Modo de funcionamiento en la versión 16 y anteriores

El Conector Nativo no especifica ninguna opción, la capa de cliente de Oracle utiliza los valores por defecto seleccionados al instalar/configurar la capa de cliente.
El desarrollador debe comprobar que el conjunto de caracteres utilizado por la capa de cliente en el ordenador del usuario final es idéntico al conjunto de caracteres utilizado en la aplicación WINDEV o en el sitio WEBDEV.

Modo de funcionamiento en la versión 17 y posteriores

Conector Nativo fija las propiedades NLS_LANGUAGE y NLS_TERRITORY en los valores correspondientes al idioma y al país utilizado en la aplicación al abrir la conexión.
Capas de cliente de Oracle 8i (y anteriores)
Modo de funcionamiento idéntico al de las versiones anteriores : El Conector Nativo no especifica ningún conjunto de caracteres y el desarrollador debe comprobar que la aplicación WINDEV o WEBDEV utiliza el mismo conjunto de caracteres que el configurado en la capa de cliente Oracle.
Capas de cliente de Oracle 9i (y posteriores)
El Conector Nativo Oracle se conecta a la base de datos utilizando el conjunto de caracteres UTF16..
Los datos ANSI se intercambian (enlazar y definir) en el conjunto de caracteres ANSI utilizados al abrir la conexión.
Por lo tanto, no hay riesgo de inconsistencia en cuanto al conjunto de caracteres entre la configuración de la capa de cliente y la aplicación WINDEV o WEBDEV.
También tiene la posibilidad de utilizar la capa de cliente "Oracle Instant Client" que no requiere ninguna configuración (copia simple de DLLs) y ninguna configuración.

Atención

En cualquier caso, le recomendamos que no cambie el juego de caracteres una vez abierta la conexión, ya que de lo contrario podrían producirse inconsistencias.
Versión mínima requerida
  • Versión 9
Esta página también está disponible para…
Comentarios
Manual de Instalação do Driver
https://forum.pcsoft.fr/fr-FR/pcsoft.br.windev/3364-driver-oracle-manual-instalacao/read.awp
BOLLER
03 12 2019
Solução dos Erros ao compilar com o Driver Nativo do Oracle
Caso ocorra esse erro abaixo:

HexecuteSQLQuery function called
native Oracle access error.
Error Number = 1038
No access library to Oracle was found (oci.dll or ociw32.dll): the Oracle client layer may not be installed properly. To use the native Windev access for Oracle, you must install an Oracle client layer (version 7.3 or later). The Oracle client layer must br found in a directory declared in path.

Mude o seu projeto de 32 para 64 bits, caso não resolva, coloque as dlls no c:\Windows\System32\, é para resolver o problema. É importante o driver da PCSOFT do Oracle estar instalado corretamente. Coloque em variáveis do ambiente o caminho do Client do Oracle e seus exes e dlls da pasta bin. Caso ainda assim não tenha dado certo, entre em contato comigo (+55) 41 99949 1800 ou skype adrianoboller.
BOLLER
24 09 2019
Solução dos Erros ao compilar com o Driver Nativo do Oracle
Caso ocorra esse erro abaixo:

HexecuteSQLQuery function called
native Oracle access error.
Error Number = 1038
No access library to Oracle was found (oci.dll or ociw32.dll): the Oracle client layer may not be installed properly. To use the native Windev access for Oracle, you must install an Oracle client layer (version 7.3 or later). The Oracle client layer must br found in a directory declared in path.

Mude o seu projeto de 32 para 64 bits, caso não resolva, coloque as dlls no c:\Windows\System32\, é para resolver o problema. É importante o driver da PCSOFT do Oracle estar instalado corretamente. Coloque em variáveis do ambiente o caminho do Client do Oracle e seus exes e dlls da pasta bin. Caso ainda assim não tenha dado certo, entre em contato comigo (+55) 41 99949 1800 ou skype adrianoboller.
BOLLER
24 09 2019
NLS_LANGUAGE e NLS_TERRITORY
No Oracle execute:

Select *
from NLS_DATABASE_PARAMETERS
where parameter like '%LANG%'

retorno
1 NLS_LANGUAGE BRAZILIAN PORTUGUESE
2 NLS_DATE_LANGUAGE BRAZILIAN PORTUGUESE

Entao, o client do oracle deve ser instalado com essas caracteristicas acima para que a acentuação esteja ok.

Caso tenha uma configuração no Banco, nos Schemas e no Client tiver outra informação tipo English, sua acentuação estará prejudicada, pois o padrão English não possui ç Ç (Cedilha) e vai aparecer o ponto de interrogação "?" de ponta cabeça.

Solução:
Basta reinstalar o client informando o mesm tipo do banco de dados.
A divergencia gera o problema de acentuação. Recomendamos que o banco aceite UTF-8 e no Wx configure em internacionalização para UTF-8 para todos os idiomas.
BOLLER
11 03 2019
Important remark
Para funcionar o driver nativo é importante ter o TNS_Name.ora e seu projeto adequado a versão 32 ou 64 bits que voce instalou, juntamente instalado o driver client da Oracle, diferente nao funciona, ok

Verificar nele qual é o SID pois ele será o Host da conection, em nenhum momento no Windev voce vai apontar o ip e porta do servidor, será baseado sempre a conection no TNS_Name.ora e sobre o SID que é o responsável pela conexão.

Exemplo de linha do TNS_name.ora

treina = (Description=(ADDRESS_LIST=(Address=(PROTOCOL=TCP) (Host=192.168.1.1)(Port=10110))) (CONNECT_DATA=(SID=infohome)))


He get SID, not get name.
Need to inform that the driver uses TNS-Name only the SID infohome, not the name treina!!!!

ex = "infohome" is Host in connection
adrianoboller
24 01 2019