PC SOFT

ONLINE HELP
FOR WINDEV, WEBDEV AND WINDEV MOBILE

Home | Sign in | English US
  • Overview
  • Importing the structure of data files
  • The import steps
  • Special case: Managing the automatic identifier
  • Taking into account the evolution of the Oracle database
  • Programming
  • 1. Opening the connection
  • 2. Running queries
  • 3. Retrieving the result
  • 4. Closing the connection
  • Notes
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Others
Stored procedures
Native Oracle Connector: Programming with HFSQL functions
Native AccessesAvailable only with this kind of connection
Overview
To use an Oracle database with the Native Connector (also called Native Access), the structure of ORACLE tables must be imported into the WINDEV or WEBDEV analysis.
Differences compared to SQL programming: The queries are not required to handle the Oracle data. Indeed, the HFSQL functions can be directly used to read data, perform searches, implement filters, ... However, the structure of Oracle data files must be imported into the WINDEV or WEBDEV analysis.
Note: From version 19, HFSQL is the new name of HyperFileSQL.
Importing the structure of data files

The import steps

To perform this import:
  1. Open the data model editor ("Project .. Load the analysis"). Start the data model editor: click among the quick access buttons.
  2. In the data model editor, select "Structures of files .. Import the descriptions of files/tables".On the "Analysis" pane, in the "Creation" group, expand "Import" and select "Import the descriptions of files/tables".
  3. The wizard starts. A connection to the Oracle database is automatically established and it is associated with the data files imported into the analysis. This connection will have to be used to handle the Oracle database by programming.
In the different wizard screens, choose the following options:
  • Data source: External database
  • The data in current format will be used by the application
  • Select the "Native Access for Oracle" type, the data source, the user name and the password. The "Properties" button is used to access the system properties.
  • When the connection is established, all you have to do is select the tables that will be imported into the WINDEV analysis. These tables can be handled by programming with the HFSQL functions of WINDEV or WEBDEV. These tables will be displayed in blue in the data model editor.
In the different wizard screens, choose the following options:
  • Database Type: Oracle.
  • Characteristics of the connection: Data server, User and password, database.
  • The application will access the data in the current format.
  • When the connection is established, all you have to do is select the tables that will be imported into the WINDEV or WEBDEV analysis. These tables can be handled by programming with the HFSQL functions of WLanguage. These tables will be displayed in blue in the data model editor.
Versions 18 and later
Note: Managing the synonyms
If the Oracle database contains synonyms, these ones will be imported into the data model editor as a new file description.
Caution: Regardless of the origin of the file description (table, view or synonym), HCreation always creates a table.
New in version 18
Note: Managing the synonyms
If the Oracle database contains synonyms, these ones will be imported into the data model editor as a new file description.
Caution: Regardless of the origin of the file description (table, view or synonym), HCreation always creates a table.
Note: Managing the synonyms
If the Oracle database contains synonyms, these ones will be imported into the data model editor as a new file description.
Caution: Regardless of the origin of the file description (table, view or synonym), HCreation always creates a table.

Special case: Managing the automatic identifier

The Automatic Identifier type is not available for Oracle: this type of item is not created when importing an Oracle table.
However, the "4-byte integer" item and/or "8-byte integer" item can be modified in the data model editor in order to be defined as automatic identifier. In this case, these automatic identifiers will be managed by the Native Oracle connector (in addition or in modification) via an Oracle "Sequence" named "WINDEV_SEQ". This sequence is automatically created by Native Oracle Connector if it does not exist.
To add or modify records with automatic identifier, you must:
  • modify the analysis. Indeed, a "4-byte integer" item or a "8-byte integer" item can be defined as "Automatic identifier". In this case, this item will be managed like an automatic identifier by Native Oracle Connector.
  • create the "sequence" object named "WINDEV_SEQ" in the Oracle database
  • grant the "CREATE SEQUENCE" privilege to the user.

Taking into account the evolution of the Oracle database

To take into account the evolutions of tables imported into the data model editor, select "Structure of files .. Synchronize the analysis with the external databases". To take into account the evolutions of the tables imported into the data model editor, on the "Analysis" pane, in the "Analysis" group, expand "Synchronization" and select "Update the analysis from the external databases".
A wizard starts, allowing you to:
  • analyze the differences for the imported tables,
  • analyze the differences for all the Oracle tables.
Programming

1. Opening the connection

To establish the connection to the Oracle database, use HOpenConnection and specify the name of the connection to open. The connection name was defined when importing the structure of files into the analysis.
To modify some parameters of this connection (user name or password for example), call HConnect.
Notes:
  • If you try to read the file directly (HReadFirst, ...), the connection associated with the file description in the analysis will be automatically opened.
  • Versions 18 and later
    You have the ability to perform an external authentication of the connection.
    New in version 18
    You have the ability to perform an external authentication of the connection.
    You have the ability to perform an external authentication of the connection.

2. Running queries

HExecuteQuery and HExecuteSQLQuery are used to run queries on the current database.
  • HExecuteQuery: is used to run a preset query with the query editor.
  • HExecuteSQLQuery: is used to run a query by specifying the SQL code of query and the name that will be assigned to this SQL code.
// Initialize the "QRY_Customer_84" query
HExecuteQuery(QRY_CUSTOMER_84, "OracleDatabase", hQueryWithoutCorrection)

HExecuteSQLQuery(QRY_CustomerQuery, "OracleDatabase", hQueryWithoutCorrection, ...
"SELECT NAME FROM CUSTOMER")

3. Retrieving the result

The result is browsed by the standard read functions: HReadFirst, HReadNext, HReadSeek, ...
The records can be locked via the lock options of these functions.
Note: The hLockWrite and hLockReadWrite constants have the same effect: lock in write mode. Indeed, the locks in read-only are not supported by Oracle.

4. Closing the connection

HCloseConnection is used to close the connection to the database when all the necessary queries have been run.

Notes

  • 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 its result, we advise you to use the hNoRefresh constant (if the data is modified by a single computer for example).
Minimum required version
  • Version 9
This page is also available for…
Comments
Click [Add] to post a comment