Syntax 1: Using a character string for the OLE DB provider Syntax 1: Pseudo connection to an HFSQL Classic database Differences between HOpenConnection and HDescribeConnection Using the Native xBase Connector with non-Latin character sets UDL file Native MySQL Connector
HDescribeConnection (Function)
In french: HDécritConnexion
Not available with this kind of connection
Describes a new connection to an external database. This connection is named. Specific parameters can be defined such as the management mode of cursors (if the accessed database allows it).
To open the connection, use
HOpenConnection . If the connection parameters described by
HDescribeConnection are incorrect,
HOpenConnection will return an error.
With HDescribeConnection , an Oracle table description imported into the analysis can be directly used by HFSQL Classic data files. Simply describe a temporary connection to an HFSQL Classic database and associate it with the file description from in the analysis. For more details, see the Examples.
Syntax
Describing a connection programmatically Hide the details
<Result> = HDescribeConnection(<Connection> , <User> [, <Password>] , <Data source> , <Database> , <OLE DB provider or Native Connector> [, <Access> [, <Extended information>]] , <Additional options>)
<Result>: Boolean
True if the operation was performed, False if a problem occurs. HErrorInfo is used to identify the error. To establish this connection, use
HOpenConnection (this function will return an error if the connection parameters are incorrect).
<Connection>: Character string
Name of new connection to define. If this name is already used by an existing connection, the former connection is replaced with the new one. The former connection (as well as the data files that used it) are automatically closed.
<User>: Character string
Username used for the database. This parameter is returned by the CtUserName property. <Password>: Optional string or Secret string
Connection password (if this password exists). If no password is required, use an empty string ("") or the NULL keyword.New in version 2025 Secret strings : If you use the secret string vault, the type of secret string used for this parameter must be "ANSI or Unicode string".
To learn more about secret strings and how to use the vault, see
Secret string vault .
<Data source>: Character string
Full path of the data source. The connection will be created and opened for this data source. This parameter is returned by the CtDatabase property.
<Database>: Character string
Name of database that will be used on the data source, empty string ("") if no name must be specified. This parameter can be used if the data source allows you to specify the database that must be used. For example, on SQL Server, the "Master" database is the default database but other databases can be handled ("dbo" for example). To specify that the access is performed on a file found in the "dbo" database (that is not the default database), <Database> must correspond to "dbo". <OLE DB provider or Native Connector>: Character string or constant
Name of OLE DB provider used. To easily retrieve the string to use, select "Connection" in the data model editor (see the Notes). or one of the following constants:hAccessHF7 Pseudo-connection to HFSQL Classic database hAccessHFClientServer Native Connector to an HFSQL Client/Server database. hNativeAccessAS400 Native AS/400 Connector (optional module of WINDEV/WEBDEV) hNativeAccessDB2 Native DB2 Connector (optional module of WINDEV/WEBDEV) hNativeAccessInformix Native Informix Connector (optional module of WINDEV/WEBDEV) hNativeAccessMariaDB Native MariaDB Connector (optional module of WINDEV/WEBDEV) hNativeAccessMySQL Native MySQL Connector (optional module of WINDEV/WEBDEV) hNativeAccessOracle Native Oracle Connector (optional module of WINDEV/WEBDEV) hNativeAccessOracleLite Native Oracle Connector (optional module of WINDEV Mobile) hNativeAccessPostgreSQL Native PostgreSQL Connector (optional module of WINDEV/WEBDEV) hNativeAccessProgress Native Progress Connector (optional module of WINDEV/WEBDEV) hNativeAccessSQLAzure Native SQL Azure Connector (optional module of WINDEV/WEBDEV, provided with the Native SQL Server Connector) hNativeAccessSQLite Native SQLite Connector (provided with WINDEV/WEBDEV) hNativeAccessSQLServer Native SQL Server Connector (optional module of WINDEV/WEBDEV). The former Native Connector is used by default. To use the new Native SQL Server Connector, use the H.SQLServerMode variable. hNativeAccessSQLServerMobile Native SQL Server Mobile Connector (optional module of WINDEV Mobile) hNativeAccessSybase Native Sybase Connector (optional module of WINDEV/WEBDEV) hNativeAccessXBase Native xBase Connector (included with WINDEV/WEBDEV) hNativeAccessXML Native XML Connector (provided with WINDEV/WEBDEV) hODBC OLE DB provider for ODBC (used to access an ODBC data source declared in the ODBC data sources of Windows) hOledbAccess97 OLE DB provider for Access 97 hOledbAccess2000 OLE DB provider for Access 2000 hOledbDBase5 OLE DB provider for dBase 5 hOledbExcel97 OLE DB provider for Excel 97 hOledbExcel2000 OLE DB provider for Excel 2000 hOledbLotus4 OLE DB provider for Lotus 4 hOledbOracle OLE DB provider for Oracle hOledbSQLServer OLE DB provider for SQL Server
The available constants are as follows:hNativeAccessSQLite Native SQLite Connector from an Android application.
Caution: To use an OLE DB connection, you must: install MDAC version 2.6 or later (setup performed by WINDEV/WEBDEV and when creating the client version) install the OLE DB provider corresponding to the database used. This parameter is returned by the CtOLEDBProvider property. The available constants are as follows:hAccessHF7 Pseudo-connection to HFSQL Mobile database hAccessHFClientServer Connection to an HFSQL Client/Server database hAccessJDBCMySQL Access to MySQL database via JDBC hAccessJDBCSQLite Access to SQLite database via JDBC hAccessJDBCSQLServer Access to SQL Server database via JDBC
<Access>: Optional constant
Configures the type of access to the database. hORead The database can be accessed in read-only. It is only possible to read records. It is not possible to add or remove records. hOReadWrite (default value)The database can be accessed in read/write. It is possible to read and write new records.
This parameter is returned by the CtAccess property. <Extended information>: Optional character string
Optional information inserted into the string for connecting to the database. If specific keywords are recognized, the corresponding information is extracted from the connection string. The rest of the connection string is sent to the database. Then, the extracted parameters are processed by the Native Connector or by the OLE DB connector used. These keywords must be indicated in the following way: ".<Mot-clé> = <Valeur>;".You can for example specify "Trusted_Connection=YES" in order to use a connection with authentication via the NT login.
This parameter is returned by the
CtExtendedInfo property.
<Additional options>: Constant
If this parameter is not specified, the HFSQL engine automatically defines the best parameters to use according to the database accessed and to the OLE DB provider used.To force some parameters, you have the ability to combine the following constants:
Cursor location hClientCursor Cursor managed by MDAC. Generally, it offers more features than a server-side cursor. A client-side cursor is always static. hServerCursor Cursor managed by the database. This cursor can easily reflect changes made to data by other users.
Cursor type hDynamicCursor This cursor offers many features, but consumes a lot of memory. This cursor supports all types of scrolling. You can access all insert, update and delete operations made by other users. hForwardOnlyCursor This cursor is fast and consumes little memory. The cursor can only move forward and be scrolled from the first to the last record. Changes made by other users are not visible. hOpenKeysetCursor This cursor handles a fixed set of records. Only the key of each record is stored and not the actual record (consumes less memory). Deleted records cannot be accessed. Changes made by other users are visible (but added records are not). hStaticCursor Makes a copy of all query records in memory (high memory consumption). All types of scrolling are supported.
Lock mode hOptimisticCursor The record is locked when it is updated hPessimisticCursor The record is locked as soon as it is edited. hReadOnlyCursor The record set manipulated cannot be modified.
Please note: not all OLE DB providers support all cursor types.
Remarks
Differences between HOpenConnection and HDescribeConnection
Method 1 To open a connection at the beginning of the application and close it at the end, use the
HOpenConnection function. To use this connection when handling data files or tables, simply change this connection with
HChangeConnection .
HOpenConnection ( MaConnexion , params )
HChangeConnection ( UnFichier , MaConnexion )
Method 2 To describe a connection programmatically and open it automatically when the data file is opened, simply:
describe the connection with HDescribeConnection . associate this connection with the desired data file description using HChangeConnection . The connection will only be opened the first time the data file is accessed. This solution can be useful when an application handles both HFSQL data files and Oracle data files. For example, if the application uses a single Oracle file for a specific process, the connection to the Oracle database will only be made when necessary.
If the first solution is chosen for the same type of application, the connection (that may take quite a long time) will be established whenever the application is started.
Example:
HDescribeConnection ( MaConnexion , params )
HChangeConnection ( UnFichier , MaConnexion )
...
HReadFirst ( UnFichier )
...
HClose ( UnFichier )
Business / UI classification: Business Logic
This page is also available for…