Driver Name | Bitness | Remarks |
---|---|---|
Pervasive ODBC Unicode Interface | 32- and 64-bit | • Available only on Windows operating systems1 • Connects to a local or remote named database • With the 32-bit ODBC Administrator, creates 32-bit DSNs for use by 32-bit applications that use wide character data • With the 64-bit ODBC Administrator, creates 64-bit DSNs for use by 64-bit applications that use wide character data |
Pervasive ODBC Interface | 64-bit | • Setup creates 64-bit DSNs • Connects to a local or remote named database • For use by 64-bit applications |
Pervasive ODBC Client Interface | 32-bit | • Setup creates 32-bit Client DSNs • Connects to a local or remote named database or an Engine DSN • Interface GUI lists both named databases and Engine DSNs • For use by 32-bit applications |
Pervasive ODBC Engine Interface | 32-bit | • Setup creates 32-bit Engine DSNs2 • Connects to a local named database • For use by 32-bit applications • Deprecated |
1On Linux and macOS, the system encoding is usually UTF-8, which allows SQL text to contain wide character data. SQL text using UTF‑8 is compatible with the existing Pervasive ODBC Client Interface driver, so an ODBC Unicode driver on Linux or macOS is not required. 2New or revised 32-bit applications, local or remote, should connect to a named database or use a Client DSN instead of using Engine DSNs. Alternately, applications could use DSN-less connections by specifying "Pervasive ODBC Client Interface." Avoiding the use of Engine DSNs positions your application for the future when Engine DSNs will no longer be supported in Zen. |
Application | Zen Driver | Microsoft Driver Manager Text Handlling | Translation Configuration in DSN or Connection String | Zen Driver SQL Text Handling | Zen Driver CHAR Data Handling |
---|---|---|---|---|---|
ANSI | Client | no translation | none | no translation | no translation |
ANSI | Client | no translation | OEM/ANSI | Client encoding to OEM | Client encoding to OEM |
ANSI | Client | no translation | Auto | Client encoding to database encoding | Client encoding to database encoding |
ANSI | Unicode | Client encoding to UCS-2 for SQL text | Auto | UCS-2 to UTF-8 | Client encoding to database encoding |
Unicode | Client | UCS-2 to client encoding | none | no translation | no translation |
Unicode | Client | UCS-2 to client encoding | OEM/ANSI | Client encoding to OEM | Client encoding to OEM |
Unicode | Client | UCS-2 to client encoding | Auto | Client encoding to database encoding | Client encoding to database encoding |
Unicode | Unicode | no translation | Auto | UCS-2 to UTF-8 | UCS-2 to database encoding |
If Database Code Page Is | And the Connection Encoding Translation Is | Then the Zen ODBC Driver |
---|---|---|
Server Default | None (The equivalent default behavior in versions prior to PSQL v10.10.) | Performs no translation of data or metadata. The assumption is that the OS encoding on the server matches the OS encoding on the client. For compatible data interpretation, the encoding used by the client machine must match the encoding of the data and metadata in the database. |
A specific code page | None (The equivalent default behavior in versions prior to PSQL v10.10.) | Performs no translation of data or metadata. The assumption is that the OS encoding on the server matches the OS encoding on the client. For compatible data interpretation, the encoding used by the client machine must match the encoding of the data and metadata in the database. |
Server Default or A specific code page | OEM/ANSI | Ignores database code page and translates data and metadata from the OEM encoding of the database to ANSI Windows encoding for the client application. |
Server Default | Automatic | Translates data and metadata from the default OS encoding on the server to the OS encoding on the client. |
A specific code page | Automatic | Translates data and metadata from the database code page to the OS encoding on the client. |
Open Mode | ODBC Connection String Generated | SQLSetConnectOption Call |
---|---|---|
Normal | OPENMODE=0 | SQLSetConnectOption( pSubDbc, SQL_ACCESS_MODE, SQL_MODE_READ_WRITE); |
Accelerated | OPENMODE=-1 | SQLSetConnectOption is ignored |
Read-only | OPENMODE=1 | SQLSetConnectOption( pSubDbc, SQL_ACCESS_MODE, SQL_MODE_READ_ONLY); |
Exclusive | OPENMODE=-4 | SQLSetConnectOption is ignored |
Element | Description |
---|---|
Database Name | The name for the database that you want to appear in the database listings. For example, the database name you see in Zen Control Center. Note: The database name cannot be the same as an existing database name. |
Integrity Enforced | Specifies whether integrity constraints (security, RI, and triggers) are enforced on the database. These constraints apply to Btrieve access to the data files as well as ODBC/SQL access. For additional information, see Interactions Between Btrieve and Relational Constraints in Advanced Operations Guide. |
Bound | Indicates whether or not the database is bound. Binding a database prevents the DDFs or data files from being used in another database and prevents a data file from having two or more different table definitions within the same database. For more information about bound databases, refer to Bound Database versus Integrity Enforced in Advanced Operations Guide. |
Long Metadata (V2 metadata) | Specifies whether you want the database to use version 1 (V1) or version 2 (V2) metadata. The database engine supports two versions of metadata, referred to as version 1 (V1) and version 2 (V2). Metadata version is a property of the database, which means that it applies to all tables within that database and is recorded in the dbnames.cfg file. A database cannot use some tables with V1 metadata and others with V2 metadata. Metadata from the two versions cannot interact. For additional information, see Zen Metadata in SQL Engine Reference. |
Code Page | Specifies the code page that applies to the database data and metadata.This property is stored in DBNAMES.CFG. The default code page is "server default," meaning the operating system code page on the server where the database engine is running. Note that database code page and client encoding are separate but interrelated. See Database Code Page and Client Encoding in Advanced Operations Guide. |
Btrieve security policy | Specifies the security model to use for the transactional interface.See Security Models for the MicroKernel Engine in Advanced Operations Guide. |
Dictionary Location | This location specifies where the dictionary files (DDFs) reside on physical storage. This location must be on the same server to which you are connected (and where the database engine is running). The location must be formatted as though you are working directly at the server machine. Enter a path in the form drive:\path, where drive is a drive letter on the server. |
Data File Location | This location specifies where the data files reside on physical storage. The Add button lets you add locations to the list. The Delete button lets you remove locations from the list. The locations must be on the same server where the database engine is running. Specify the location in the same manner as for the dictionary locations. |
Unicode Connection String Parameters | Description |
---|---|
ServerName=server[.port] | Specify the machine name or IP address of the computer to which you wish to connect. Required. Port is provided from backwards compatibility and allows you to specify the port number to use if you are not using the default port. When using IPv6 addresses and appending a port number in ODBC connections, use an IPv6-literal.net name or UNC-safe name. See Drive-based Formats in Getting Started with Zen. |
TransportHint=TCP | Specify the transport protocol to use, or which to try first. Default is TCP. Optional. |
DBQ=[@]db_name | Specify the internal database name (not DSN) to which you wish to connect. Required. The @ character is optional. It has no particular effect and is supported only for backward compatibility. |
TCPPort=port | Specify the TCP/IP port on which to find the server. Optional. See also Changing the Default Communication Ports in Getting Started with Zen. |
ArrayFetchOn=1 | 0 | Specify whether to cache result sets on the client. Default is 1, "On." Optional. |
ArrayBufferSize=size | Specify the size of the client cache, in KB. Default is 8 KB. Optional. |
PvTranslate=auto | Specify how to handle the data encoding when the client connects to the database engine. (See Encoding Translation for more information.) PvTranslate defaults to "auto" for the Unicode driver. This allows you to use NCHAR columns and NCHAR literals with wide character data without having to explicitly set PvTranslate to "auto." With the attribute is set to "auto," the client and server automatically establish compatible encoding. Data translation, if required, occurs on the client. |
UID=user_name | If security is enabled for the given database, specify the user name. Optional, depending on security. See Zen Security in Advanced Operations Guide. |
PWD=password | If security is enabled for the given database, specify the password. Optional, depending on security. See Zen Security in Advanced Operations Guide. |
64-Bit Connection String Parameters | Description |
---|---|
ServerName=server[.port] | Specify the machine name or IP address of the computer to which you wish to connect. Required. Port is provided from backwards compatibility and allows you to specify the port number to use if you are not using the default port. When using IPv6 addresses and appending a port number in ODBC connections, use an IPv6-literal.net name or UNC-safe name. See Drive-based Formats in Getting Started with Zen. |
TransportHint=TCP | Specify the transport protocol to use, or which to try first. Default is TCP. Optional. |
DBQ=[@]db_name | Specify the internal database name (not DSN) to which you wish to connect. Required. The @ character is optional. It has no particular effect and is supported only for backward compatibility. |
TCPPort=port | Specify the TCP/IP port on which to find the server. Optional. See also Changing the Default Communication Ports in Getting Started with Zen. |
ArrayFetchOn=1 | 0 | Specify whether to cache result sets on the client. Default is 1, "On." Optional. |
ArrayBufferSize=size | Specify the size of the client cache, in KB. Default is 8 KB. Optional. |
PvTranslate=auto | Specify how to handle the data encoding when the client connects to the database engine. The attribute can either be absent, or have a value set to "auto" to indicate automatic translation. (See Encoding Translation for more information.) With the attribute is set to "auto," the client and server automatically establish compatible encoding. Data translation, if required, occurs on the client. Note that "auto" overrides the "OEM/ANSI" setting for a DSN. If the attribute is absent, ODBC does not translate any character data. This is the default behavior. The "OEM/ANSI" setting may still apply. See OEM/ANSI Conversion. |
UID=user_name | If security is enabled for the given database, specify the user name. Optional, depending on security. See Zen Security in Advanced Operations Guide. |
PWD=password | If security is enabled for the given database, specify the password. Optional, depending on security. See Zen Security in Advanced Operations Guide. |
32-Bit Connection String Parameters | Description |
---|---|
ServerName=server[.port] | Specify the machine name or IP address of the computer to which you wish to connect. Required. Port is provided from backwards compatibility and allows you to specify the port number to use if you are not using the default port. When using IPv6 addresses and appending a port number in ODBC connections, use an IPv6-literal.net name or UNC-safe name. See Drive-based Formats in Getting Started with Zen. |
ServerDSN=dsn_name | Specify the Engine DSN to which you wish to connect. Required, unless DBQ is specified. |
TransportHint=TCP | Specify the transport protocol to use, or which to try first. Default is TCP. Optional. |
DBQ=[@]db_name | Specify the internal database name (not DSN) to which you wish to connect. Required. The @ character is optional. It has no particular effect and is supported only for backward compatibility. |
TCPPort=port | Specify the TCP/IP port on which to find the server. Optional. See also Changing the Default Communication Ports in Getting Started with Zen. |
ArrayFetchOn=1 | 0 | Specify whether to cache result sets on the client. Default is 1, "On." Optional. |
ArrayBufferSize=size | Specify the size of the client cache, in KB. Default is 8 KB. Optional. |
PvTranslate=auto | Specify how to handle the data encoding when the client connects to the database engine. The attribute can either be absent, or have a value set to "auto" to indicate automatic translation. (See Encoding Translation for more information.) With the attribute is set to "auto," the client and server automatically establish compatible encoding. Data translation, if required, occurs on the client. Note that "auto" overrides the "OEM/ANSI" setting for a DSN. If the attribute is absent, ODBC does not translate any character data. This is the default behavior. The "OEM/ANSI" setting may still apply. See OEM/ANSI Conversion. |
UID=user_name | If security is enabled for the given database, specify the user name. Optional, depending on security. See Zen Security in Advanced Operations Guide. |
PWD=password | If security is enabled for the given database, specify the password. Optional, depending on security. See Zen Security in Advanced Operations Guide. |
Connection String | Description |
---|---|
DBQ=[@]db_name | Specify the internal database name (not DSN) to which you wish to connect. Required. The @ character is optional. It has no particular effect and is supported only for backward compatibility. |
UID=user_name | If security is enabled for the given database, specify the user name. Optional, depending on security. See Zen Security in Advanced Operations Guide. |
PWD=password | If security is enabled for the given database, specify the password. Optional, depending on security. See Zen Security in Advanced Operations Guide. |
OPENMODE=-4 | -1 | 0 | 1 | Specify the default file open mode for files opened with the current connection. Default is 0, "Normal." Can be used only with local connections, not remote client connections. Optional. For more information on file open modes, see DSN Open Mode. |
TRANSLATIONDLL=path_and_DLL_name | Specify the full path name of the DLL to use for OEM/ANSI translation. For more information, see OEM/ANSI Conversion. |