PC SOFT

ONLINE HELP
FOR WINDEV, WEBDEV AND WINDEV MOBILE

  • Overview
  • New features of version 18
  • New features of version 21
  • Required configuration
  • Necessary client layer
  • Instant Client (recommended solution)
  • Full Oracle client layer
  • Notes common to the 2 client layers
  • Compatibility
  • Compatibility with the Oracle 8i client layers
  • Compatibility with Oracle 7.3
  • Compatibility with WDORAINS.EXE
  • Use
  • To use the Native Oracle Access in your WINDEV applications or in your WEBDEV sites:
  • Optimizing the HFSQL functions
  • Managing the set of characters/the language/the territory
  • Operating mode in version 16 and earlier
  • Operating mode in version 17 and later
  • Caution
Products
WinDevWebDev - Server codeWebDev - Browser codeWinDev MobileReports and Queries
Platforms
WindowsLinuxWindows MobileUniversal Windows 10 AppAndroidAndroid Widget iPhone/iPadApple Watch
Languages
JavaPHPAjaxUser code (UMC)External language
Databases
HFSQLHFSQL Client/ServerStored proceduresOLE DBODBCNative Accesses
Overview
WINDEV and WEBDEV 21 propose an optional module for the Native Access to Oracle. This Native Access allows you to access an Oracle database from a WLanguage program without any external driver.
Benefits of using the Native Oracle Access:
  • The HReadxxx functions (HReadNext, HModify, ...) can be used on the Oracle databases. Therefore, an Oracle database and a HFSQL database are handled by the same commands. Porting an existing application to external databases is simplified.
  • The RAD allows you to generate the code with the Hxxx functions (HReadNext, ...) or with the SQLxxx functions.
  • Direct access to an Oracle database with no intermediate layer: MDAC, OLE DB and ODBC are useless.
  • WDMap (data viewer) can be used on your Oracle databases.
  • The setup is straightforward: No OLE DB or ODBC layer required on the user computer.
  • All versions of Oracle databases are supported.
  • etc.
The use of this Native Access is highly recommended when developing Client/Server applications (that access the Oracle databases) with WINDEV. Feel free to contact us for any additional information.
Notes:
  • To purchase the Native Oracle Access, contact PC SOFT sales department.
  • Versions 16 and later
    The Native Oracle Access is available in 32 bits and in 64 bits.
    New in version 16
    The Native Oracle Access is available in 32 bits and in 64 bits.
    The Native Oracle Access is available in 32 bits and in 64 bits.
  • Versions 21 and later
    The Native Oracle Access is available in Windows and Linux.
    New in version 21
    The Native Oracle Access is available in Windows and Linux.
    The Native Oracle Access is available in Windows and Linux.
Versions 18 and later

New features of version 18

In this version, you now have the ability to:
New in version 18

New features of version 18

In this version, you now have the ability to:

New features of version 18

In this version, you now have the ability to:
Versions 21 and later

New features of version 21

The main new features of version 21 are:
  • The Native Oracle Access is available in Linux.
  • WDORAINS is available in 64 bits (WDORAINS64.exe file). See Configuring the connection with WDORAINS for more details.
  • Managing the default values.
    The default values of items are now managed by the Native Oracle Access. The default values can be:
    • a value,
    • an SQL formula. In this case, the SQL expression must be recognized by the HFSQL engine and by the Oracle database.
  • Managing the calculated items.
    You now have the ability to use calculated items in the data files. The management of calculated items is available from Oracle version 11g (and later).
New in version 21

New features of version 21

The main new features of version 21 are:
  • The Native Oracle Access is available in Linux.
  • WDORAINS is available in 64 bits (WDORAINS64.exe file). See Configuring the connection with WDORAINS for more details.
  • Managing the default values.
    The default values of items are now managed by the Native Oracle Access. The default values can be:
    • a value,
    • an SQL formula. In this case, the SQL expression must be recognized by the HFSQL engine and by the Oracle database.
  • Managing the calculated items.
    You now have the ability to use calculated items in the data files. The management of calculated items is available from Oracle version 11g (and later).

New features of version 21

The main new features of version 21 are:
  • The Native Oracle Access is available in Linux.
  • WDORAINS is available in 64 bits (WDORAINS64.exe file). See Configuring the connection with WDORAINS for more details.
  • Managing the default values.
    The default values of items are now managed by the Native Oracle Access. The default values can be:
    • a value,
    • an SQL formula. In this case, the SQL expression must be recognized by the HFSQL engine and by the Oracle database.
  • Managing the calculated items.
    You now have the ability to use calculated items in the data files. The management of calculated items is available from Oracle version 11g (and later).
Required configuration

Necessary client layer

The Natif Access is compatible with the following Oracle client layers :
  • Versions 17 and later
    Instant Client (recommended solution).
    New in version 17
    Instant Client (recommended solution).
    Instant Client (recommended solution).
  • Full Oracle client layer.
Versions 17 and later

Instant Client (recommended solution)

This client layer, available from Oracle 10g, requires no setup or no configuration. It is the lightest client layer.
Windows All you have to do is copy into the application directory (or into a PATH directory) the DLLs found in the ZIP file ("instantclient-basic-nt-11.2.0.2.0.zip" for example, downloadable from www.oracle.com).
Versions 21 and later
Linux All you have to do is download the ZIP file of the client layer ("instantclient-basicxxxx.zip" for example, available on the www.oracle.com site) and install the client layer (see the Oracle documentation for the setup). If necessary, create a symbolic link to the module of the client layer "libclntsh.so".
New in version 21
Linux All you have to do is download the ZIP file of the client layer ("instantclient-basicxxxx.zip" for example, available on the www.oracle.com site) and install the client layer (see the Oracle documentation for the setup). If necessary, create a symbolic link to the module of the client layer "libclntsh.so".
Linux All you have to do is download the ZIP file of the client layer ("instantclient-basicxxxx.zip" for example, available on the www.oracle.com site) and install the client layer (see the Oracle documentation for the setup). If necessary, create a symbolic link to the module of the client layer "libclntsh.so".
The "Data Source" parameter of the WINDEV or WEBDEV connection will have the following format :
"//host:[port][/service name]"
With:
  • host: Name of the computer that hosts the Oracle server.
  • port: Number of the port chosen when installing the Oracle server.
  • service name: Name of the service chosen when installing the Oracle server.
New in version 17

Instant Client (recommended solution)

This client layer, available from Oracle 10g, requires no setup or no configuration. It is the lightest client layer.
Windows All you have to do is copy into the application directory (or into a PATH directory) the DLLs found in the ZIP file ("instantclient-basic-nt-11.2.0.2.0.zip" for example, downloadable from www.oracle.com).
Versions 21 and later
Linux All you have to do is download the ZIP file of the client layer ("instantclient-basicxxxx.zip" for example, available on the www.oracle.com site) and install the client layer (see the Oracle documentation for the setup). If necessary, create a symbolic link to the module of the client layer "libclntsh.so".
New in version 21
Linux All you have to do is download the ZIP file of the client layer ("instantclient-basicxxxx.zip" for example, available on the www.oracle.com site) and install the client layer (see the Oracle documentation for the setup). If necessary, create a symbolic link to the module of the client layer "libclntsh.so".
Linux All you have to do is download the ZIP file of the client layer ("instantclient-basicxxxx.zip" for example, available on the www.oracle.com site) and install the client layer (see the Oracle documentation for the setup). If necessary, create a symbolic link to the module of the client layer "libclntsh.so".
The "Data Source" parameter of the WINDEV or WEBDEV connection will have the following format :
"//host:[port][/service name]"
With:
  • host: Name of the computer that hosts the Oracle server.
  • port: Number of the port chosen when installing the Oracle server.
  • service name: Name of the service chosen when installing the Oracle server.

Instant Client (recommended solution)

This client layer, available from Oracle 10g, requires no setup or no configuration. It is the lightest client layer.
Windows All you have to do is copy into the application directory (or into a PATH directory) the DLLs found in the ZIP file ("instantclient-basic-nt-11.2.0.2.0.zip" for example, downloadable from www.oracle.com).
Versions 21 and later
Linux All you have to do is download the ZIP file of the client layer ("instantclient-basicxxxx.zip" for example, available on the www.oracle.com site) and install the client layer (see the Oracle documentation for the setup). If necessary, create a symbolic link to the module of the client layer "libclntsh.so".
New in version 21
Linux All you have to do is download the ZIP file of the client layer ("instantclient-basicxxxx.zip" for example, available on the www.oracle.com site) and install the client layer (see the Oracle documentation for the setup). If necessary, create a symbolic link to the module of the client layer "libclntsh.so".
Linux All you have to do is download the ZIP file of the client layer ("instantclient-basicxxxx.zip" for example, available on the www.oracle.com site) and install the client layer (see the Oracle documentation for the setup). If necessary, create a symbolic link to the module of the client layer "libclntsh.so".
The "Data Source" parameter of the WINDEV or WEBDEV connection will have the following format :
"//host:[port][/service name]"
With:
  • host: Name of the computer that hosts the Oracle server.
  • port: Number of the port chosen when installing the Oracle server.
  • service name: Name of the service chosen when installing the Oracle server.

Full Oracle client layer

This client layer, available from Oracle 8i , requires a setup and a configuration. In most cases, the setup is followed by the definition of aliases with "Oracle Net Manager" that is used to specify the content of the "tnsnames.ora" file.
The "Data Source" parameter of the WINDEV or WEBDEV connection will have the following format:
"Alias"
With Alias corresponding to the name of the alias configured by "Oracle Net Manager".
In this case, when opening the connection, the Oracle client layer searches for the parameters corresponding to this alias (server name, port number, service name) in the "tnsnames.ora" file.
The following errors can be reported by the Oracle client layer when opening the connection if the alias is not configured properly:
  • ORA-12514: TNS: the listening process does not currently know the requested service in the connection descriptor
  • ORA-12154: TNS: the specified connection identifier cannot be resolved
This type of error must be corrected in the configuration of aliases.
The "tnsnames.ora" file is exclusively used by the Oracle client layer and not by the Native Access.
See the Oracle documentation for more details.

Notes common to the 2 client layers

  • In most cases, the Oracle client layers are compatible with the servers 2 numbers less than the major versions. For example, the client layer 10g can be used to connect to an Oracle server 8i.
  • Windows The Native Access is using the OCI.DLL DLL of the Oracle client layer to access the Oracle server. The 2 above-mentioned client layers contain this DLL.
    The OCI.DLL DLL is loaded according to the standard load principle of Windows. The element is sought by priority order in:
    • the application folder,
    • the Windows folder,
    • the folders of the PATH environment variable.
  • Versions 21 and later
    Linux The Native Access is using the libclntsh.so DLL of the Oracle client layer to access the Oracle server. The 2 above-mentioned client layers contain this DLL.
    Create (if necessary) a symbolic link to this module. For example:
    ln -s libclntsh.so.12.1 libclntsh.so
    New in version 21
    Linux The Native Access is using the libclntsh.so DLL of the Oracle client layer to access the Oracle server. The 2 above-mentioned client layers contain this DLL.
    Create (if necessary) a symbolic link to this module. For example:
    ln -s libclntsh.so.12.1 libclntsh.so
    Linux The Native Access is using the libclntsh.so DLL of the Oracle client layer to access the Oracle server. The 2 above-mentioned client layers contain this DLL.
    Create (if necessary) a symbolic link to this module. For example:
    ln -s libclntsh.so.12.1 libclntsh.so
  • A 32-bit application requires the use of a 32-bit client layer. A 64-bit application requires the use of a 64-bit client layer. If you develop a 64-bit application, you may have to install the 32-bit and 64-bit versions of the Oracle client layer on your development computer because WINDEV and WEBDEV are 32-bit applications.
Compatibility

Compatibility with the Oracle 8i client layers

From version 17, the Native Access connects by using the set of UTF16 characters when the client layer is recent enough, in order to eliminate any risk of inconsistency regarding the set of characters between the application and the client layer.
However, the Oracle 8i client layer not offering this possibility, when the Native Access detects that the client layer is in version 8i, the Native Access specifies no set of characters (operating mode of versions 16 and earlier of the Native Access).
In this case, the Oracle client layer considers that the set of characters used is the set of characters selected when installing the client layer.
The developer must check that the set of characters configured in the client layer on the computer of the end user is identical to the set of characters used in the WINDEV application or in the WEBDEV site.
A risk of data corruption exists if the sets of characters are not consistent.
The execution of queries without Unicode correction is not available with an Oracle 8i client layer.

Compatibility with Oracle 7.3

The Native Access can be forced to operate in mode compatible with Oracle 7.3 is problems occur when connecting to an Oracle 7.3 server.
In this case, the Native Access is using OCIW32.DLL.
However, some operations will no longer be available because of the limitations of the Oracle 7.3 client layer.
To force the Native Access to operate in mode compatible with Oracle 7.3, the following string must be added into the optional information of the WINDEV or WEBDEV connection:
"WD CLIENT LIBRARY = 7"

Compatibility with WDORAINS.EXE

A full compatibility is ensured with the configuration tool WDORAINS.EXE historically supplied with the Native Access (in Windows only, in 32 bits). However, its use is not recommended for the new developments.
All the parameters that could be configured with WDORAINS.EXE in the WDORAINS.INI file can now be configured in the optional information of the connection.
Use

To use the Native Oracle Access in your WINDEV applications or in your WEBDEV sites:

To use ORACLE in native mode, you must program:
Notes:
  • Don't forget to read the limitations regarding the use of Native Oracle Access.
  • To deploy sites that use the Native Oracle Access, the Native Oracle Access must be installed on the server (WEBDEV Application Server). This setup is performed from the CD of the Native Oracle Access.

Optimizing the HFSQL functions

  • The "Browsing table" controls based on queries are optimized: the content of the Table control can be sorted by clicking one of its columns.
  • To avoid re-running the same query several times when browsing the query result, we advise you to use the hNoRefresh constant (if the data is modified by a single computer for example).
Managing the set of characters/the language/the territory

Operating mode in version 16 and earlier

The Native Access specifying no option, the Oracle client layer uses the default values selected when installing/configuring the client layer.
The developer must check that the set of characters used by the client layer on the computer of the end user is identical to the set of characters used in the WINDEV application or in the WEBDEV site.

Operating mode in version 17 and later

The Native Access fixes the NLS_LANGUAGE and NLS_TERRITORY properties to the values corresponding to the language and to the country used in the application when the connection is opened.
Oracle 8i client layers (and earlier)
Operating mode identical to the earlier versions : The Native Access specifies no set of characters and the developer must check that the WINDEV or WEBDEV application is using the same set of characters as the one configured in the Oracle client layer.
Oracle 9i client layers (and later)
The Native Oracle Access connects to the database by using the set of UTF16 characters.
The ANSI data is exchanged (bind and define) in the set of ANSI characters used when opening the connection.
Therefore, there is no risk of inconsistency regarding the set of characters between the configuration of the client layer and the WINDEV or WEBDEV application.
You also have the ability to use the "Oracle Instant Client" client layer that requires no setup (simple copy of DLLs) and no configuration.

Caution

In any case, we recommend that you do not change the character set once the connection is opened otherwise inconsistencies may occur.
Minimum required version
  • Version 9
This page is also available for…
Comments
Links:

http://www.pcsoft.fr/accesnatifs/ANOracle.htm

http://www.pcsoft.fr/pcsoft/tarifs.htm#oracle
adrianoboller
Sep. 30 2015