Btrieve Connector for CData Sync

Build 23.0.8565
  • Btrieve
    • Establishing a Connection
    • Advanced Features
      • SSL Configuration
      • Firewall and Proxy
    • Connection String Options
      • Authentication
        • Server
        • Database
        • MetadataVersion
        • User
        • Password
        • DatabaseLocation
      • SSL
        • SSLClientCert
        • SSLClientCertType
        • SSLClientCertPassword
        • SSLClientCertSubject
        • SSLServerCert
      • Firewall
        • FirewallType
        • FirewallServer
        • FirewallPort
        • FirewallUser
        • FirewallPassword
      • Logging
        • LogModules
      • Schema
        • Location
        • BrowsableSchemas
        • Tables
        • Views
      • Miscellaneous
        • ClientCharset
        • MaxRows
        • Other
        • Timeout

Btrieve Connector for CData Sync

Overview

The CData Sync App provides a straightforward way to continuously pipeline your Btrieve data to any database, data lake, or data warehouse, making it easily available for Analytics, Reporting, AI, and Machine Learning.

The Btrieve connector can be used from the CData Sync application to pull data from Btrieve and move it to any of the supported destinations.

Btrieve Connector for CData Sync

Establishing a Connection

Create a connection to Btrieve by navigating to the Connections page in the Sync App application and selecting the corresponding icon in the Add Connections panel. If the Btrieve icon is not available, click the Add More icon to download and install the Btrieve connector from the CData site.

Required properties are listed under the Settings tab. The Advanced tab lists connection properties that are not typically required.

Installing the PSQL Client

An installation of the PSQL Client is required to establish a connection to Btrieve. Acquire the PSQL Client from the Actian download page.

  • Product: Select Actian Zen (PSQL).
  • Release: PSQL v12, v13, and v14 are supported.
  • Platform: Select your platform.
  • A dropdown menu appears. Scroll down to find the PSQL client download link.

You must install the PSQL client on the same machine as the driver.

Connecting to Btrieve

With the PSQL client installed, the Sync App can now connect to Btrieve.

Set the following connection properties:

  • Server: The default value is localhost. If your database is not on the local machine, set this value to the hostname or IP of the remote machine along with the database folder. For example: \\MyRemoteServer\Demodata.
  • Database: Set to the directory containing the Btrieve database files if DatabaseLocation is empty, or the name of the database when DatabaseLocation is set to the database path.
  • User: Set this to the username used to authenticate to Btrieve. If you are connecting to a remote instance of Btrieve, set this to the account username attached to the remote machine. Based on your security policy, this value may instead be the username of an Active Directory or Zen database instance.
  • Password: Set this to the password used to authenticate to Btrieve. If you are connecting to a remote instance of Btrieve, set this to the password attached to the remote machine. Based on your security policy, this value may instead be the username of an Active Directory or Zen database instance.

Btrieve Connector for CData Sync

Advanced Features

This section details a selection of advanced features of the Btrieve Sync App.

SSL Configuration

Use SSL Configuration to adjust how Sync App handles TLS/SSL certificate negotiations. You can choose from various certificate formats; see the SSLServerCert property under "Connection String Options" for more information.

Firewall and Proxy

Configure the Sync App for compliance with Firewall and Proxy, including Windows proxies. You can also set up tunnel connections.

Logging

See Logging for an overview of configuration settings that can be used to refine CData logging. For basic logging, you only need to set two connection properties, but there are numerous features that support more refined logging, where you can select subsets of information to be logged using the LogModules connection property.

Btrieve Connector for CData Sync

SSL Configuration

Customizing the SSL Configuration

By default, the Sync App attempts to negotiate SSL/TLS by checking the server's certificate against the system's trusted certificate store.

To specify another certificate, see the SSLServerCert property for the available formats to do so.

Client SSL Certificates

The Btrieve Sync App also supports setting client certificates. Set the following to connect using a client certificate.

  • SSLClientCert: The name of the certificate store for the client certificate.
  • SSLClientCertType: The type of key store containing the TLS/SSL client certificate.
  • SSLClientCertPassword: The password for the TLS/SSL client certificate.
  • SSLClientCertSubject: The subject of the TLS/SSL client certificate.

Btrieve Connector for CData Sync

Firewall and Proxy

Connecting Through a Firewall or Proxy

Set the following properties:

  • To use a proxy-based firewall, set FirewallType, FirewallServer, and FirewallPort.
  • To tunnel the connection, set FirewallType to TUNNEL.
  • To authenticate, specify FirewallUser and FirewallPassword.
  • To authenticate to a SOCKS proxy, additionally set FirewallType to SOCKS5.

Btrieve Connector for CData Sync

Connection String Options

The connection string properties are the various options that can be used to establish a connection. This section provides a complete list of the options you can configure in the connection string for this provider. Click the links for further details.

For more information on establishing a connection, see Establishing a Connection.

Authentication


PropertyDescription
ServerThe Btrieve server address.
DatabaseIf DatabaseLocation is not set, set this to the directory containing the Btrieve database files. If DatabaseLocation is set, set this to the name of the database.
MetadataVersionSet to 1 if your database is using V1 MetaData or 2 if your database is using V2 MetaData.
UserThe Btrieve user account used to authenticate.
PasswordThe password used to authenticate the user.
DatabaseLocationThe location of the Btrieve database files.

SSL


PropertyDescription
SSLClientCertThe TLS/SSL client certificate store for SSL Client Authentication (2-way SSL).
SSLClientCertTypeThe type of key store containing the TLS/SSL client certificate.
SSLClientCertPasswordThe password for the TLS/SSL client certificate.
SSLClientCertSubjectThe subject of the TLS/SSL client certificate.
SSLServerCertThe certificate to be accepted from the server when connecting using TLS/SSL.

Firewall


PropertyDescription
FirewallTypeThe protocol used by a proxy-based firewall.
FirewallServerThe name or IP address of a proxy-based firewall.
FirewallPortThe TCP port for a proxy-based firewall.
FirewallUserThe user name to use to authenticate with a proxy-based firewall.
FirewallPasswordA password used to authenticate to a proxy-based firewall.

Logging


PropertyDescription
LogModulesCore modules to be included in the log file.

Schema


PropertyDescription
LocationA path to the directory that contains the schema files defining tables, views, and stored procedures.
BrowsableSchemasThis property restricts the schemas reported to a subset of the available schemas. For example, BrowsableSchemas=SchemaA,SchemaB,SchemaC.
TablesThis property restricts the tables reported to a subset of the available tables. For example, Tables=TableA,TableB,TableC.
ViewsRestricts the views reported to a subset of the available tables. For example, Views=ViewA,ViewB,ViewC.

Miscellaneous


PropertyDescription
ClientCharsetSpecifies client character set for encoding and decoding character data transferred to and from the Database. If the table name and database path contain non-ASCII characters, make sure the client character set, operating system encoding and database encoding are the same. If not, just make sure the client character set and database encoding are the same.
MaxRowsLimits the number of rows returned when no aggregation or GROUP BY is used in the query. This takes precedence over LIMIT clauses.
OtherThese hidden properties are used only in specific use cases.
TimeoutThe value in seconds until the timeout error is thrown, canceling the operation.
Btrieve Connector for CData Sync

Authentication

This section provides a complete list of the Authentication properties you can configure in the connection string for this provider.


PropertyDescription
ServerThe Btrieve server address.
DatabaseIf DatabaseLocation is not set, set this to the directory containing the Btrieve database files. If DatabaseLocation is set, set this to the name of the database.
MetadataVersionSet to 1 if your database is using V1 MetaData or 2 if your database is using V2 MetaData.
UserThe Btrieve user account used to authenticate.
PasswordThe password used to authenticate the user.
DatabaseLocationThe location of the Btrieve database files.
Btrieve Connector for CData Sync

Server

The Btrieve server address.

Remarks

The Btrieve server address. It can be a machine name, an IP address, or the keyword "localhost".

Btrieve Connector for CData Sync

Database

If DatabaseLocation is not set, set this to the directory containing the Btrieve database files. If DatabaseLocation is set, set this to the name of the database.

Remarks

Btrieve specifies the database via the filepath containing the database files rather than simply the name of the database. If your database is not on the local machine, set this value to the hostname or IP of the remote machine along with the database folder. For example: \\MyRemoteServer\Demodata.

Scenario 1: Only Database Set

When Database is set and DatabaseLocation is not, supply the path to the database files in Database. The database name used by the Sync App is the last element of the path supplied in the Database property.

For example, suppose you set:

Database=C:\ProgramData\Actian\PSQL\Demodata

In this case, "Demodata" is the database name used by the Sync App and the Sync App searches C:\ProgramData\Actian\PSQL for the database files.

Scenario 2: Both Database and DatabaseLocation Set

When both Database and DatabaseLocation are set, explicitly supply the database name (with no directory path prepended) in Database.

For example, suppose you set:

Database=Demodata;DatabaseLocation=C:\ProgramData\Actian\PSQL\Demodata2

In this case, "Demodata" is the database name used by the Sync App and the Sync App searches C:\ProgramData\Actian\PSQL for the database files.

Btrieve Connector for CData Sync

MetadataVersion

Set to 1 if your database is using V1 MetaData or 2 if your database is using V2 MetaData.

Remarks

The default MetadataVersion when creating a new database in PSQL is V1; however, you can choose "Long metadata (V2 metadata)" under Database Options when creating a new database. If you did not select this option, set MetadataVersion to 1. If you did select this option, set MetadataVersion to 2.

Btrieve Connector for CData Sync

User

The Btrieve user account used to authenticate.

Remarks

Together with Password, this field is used to authenticate against the Btrieve server.

Btrieve Connector for CData Sync

Password

The password used to authenticate the user.

Remarks

The User and Password are together used to authenticate with the server.

Btrieve Connector for CData Sync

DatabaseLocation

The location of the Btrieve database files.

Remarks

Btrieve specifies the database via the filepath containing the database files rather than simply the name of the database.

Scenario 1: Only DatabaseLocation Set

When DatabaseLocation is set and Database is not, the database name used by the Sync App is the last element of the path supplied in the DatabaseLocation property.

For example, suppose you set:

DatabaseLocation=C:\ProgramData\Actian\PSQL\Demodata

In this case, "Demodata" is the database name used by the Sync App and the Sync App searches C:\ProgramData\Actian\PSQL for the database files.

Scenario 2: Both Database and DatabaseLocation Set

When both Database and DatabaseLocation are set, explicitly supply the database name (with no directory path prepended) in Database.

For example, suppose you set:

Database=Demodata;DatabaseLocation=C:\ProgramData\Actian\PSQL\Demodata2

In this case, "Demodata" is the database name used by the Sync App and the Sync App searches C:\ProgramData\Actian\PSQL for the database files.

Btrieve Connector for CData Sync

SSL

This section provides a complete list of the SSL properties you can configure in the connection string for this provider.


PropertyDescription
SSLClientCertThe TLS/SSL client certificate store for SSL Client Authentication (2-way SSL).
SSLClientCertTypeThe type of key store containing the TLS/SSL client certificate.
SSLClientCertPasswordThe password for the TLS/SSL client certificate.
SSLClientCertSubjectThe subject of the TLS/SSL client certificate.
SSLServerCertThe certificate to be accepted from the server when connecting using TLS/SSL.
Btrieve Connector for CData Sync

SSLClientCert

The TLS/SSL client certificate store for SSL Client Authentication (2-way SSL).

Remarks

The name of the certificate store for the client certificate.

The SSLClientCertType field specifies the type of the certificate store specified by SSLClientCert. If the store is password protected, specify the password in SSLClientCertPassword.

SSLClientCert is used in conjunction with the SSLClientCertSubject field in order to specify client certificates. If SSLClientCert has a value, and SSLClientCertSubject is set, a search for a certificate is initiated. See SSLClientCertSubject for more information.

Designations of certificate stores are platform-dependent.

The following are designations of the most common User and Machine certificate stores in Windows:

MYA certificate store holding personal certificates with their associated private keys.
CACertifying authority certificates.
ROOTRoot certificates.
SPCSoftware publisher certificates.

In Java, the certificate store normally is a file containing certificates and optional private keys.

When the certificate store type is PFXFile, this property must be set to the name of the file. When the type is PFXBlob, the property must be set to the binary contents of a PFX file (for example, PKCS12 certificate store).

Btrieve Connector for CData Sync

SSLClientCertType

The type of key store containing the TLS/SSL client certificate.

Remarks

This property can take one of the following values:

USER - defaultFor Windows, this specifies that the certificate store is a certificate store owned by the current user. Note that this store type is not available in Java.
MACHINEFor Windows, this specifies that the certificate store is a machine store. Note that this store type is not available in Java.
PFXFILEThe certificate store is the name of a PFX (PKCS12) file containing certificates.
PFXBLOBThe certificate store is a string (base-64-encoded) representing a certificate store in PFX (PKCS12) format.
JKSFILEThe certificate store is the name of a Java key store (JKS) file containing certificates. Note that this store type is only available in Java.
JKSBLOBThe certificate store is a string (base-64-encoded) representing a certificate store in JKS format. Note that this store type is only available in Java.
PEMKEY_FILEThe certificate store is the name of a PEM-encoded file that contains a private key and an optional certificate.
PEMKEY_BLOBThe certificate store is a string (base64-encoded) that contains a private key and an optional certificate.
PUBLIC_KEY_FILEThe certificate store is the name of a file that contains a PEM- or DER-encoded public key certificate.
PUBLIC_KEY_BLOBThe certificate store is a string (base-64-encoded) that contains a PEM- or DER-encoded public key certificate.
SSHPUBLIC_KEY_FILEThe certificate store is the name of a file that contains an SSH-style public key.
SSHPUBLIC_KEY_BLOBThe certificate store is a string (base-64-encoded) that contains an SSH-style public key.
P7BFILEThe certificate store is the name of a PKCS7 file containing certificates.
PPKFILEThe certificate store is the name of a file that contains a PuTTY Private Key (PPK).
XMLFILEThe certificate store is the name of a file that contains a certificate in XML format.
XMLBLOBThe certificate store is a string that contains a certificate in XML format.

Btrieve Connector for CData Sync

SSLClientCertPassword

The password for the TLS/SSL client certificate.

Remarks

If the certificate store is of a type that requires a password, this property is used to specify that password to open the certificate store.

Btrieve Connector for CData Sync

SSLClientCertSubject

The subject of the TLS/SSL client certificate.

Remarks

When loading a certificate the subject is used to locate the certificate in the store.

If an exact match is not found, the store is searched for subjects containing the value of the property. If a match is still not found, the property is set to an empty string, and no certificate is selected.

The special value "*" picks the first certificate in the certificate store.

The certificate subject is a comma separated list of distinguished name fields and values. For example, "CN=www.server.com, OU=test, C=US, [email protected]". The common fields and their meanings are shown below.

FieldMeaning
CNCommon Name. This is commonly a host name like www.server.com.
OOrganization
OUOrganizational Unit
LLocality
SState
CCountry
EEmail Address

If a field value contains a comma, it must be quoted.

Btrieve Connector for CData Sync

SSLServerCert

The certificate to be accepted from the server when connecting using TLS/SSL.

Remarks

If using a TLS/SSL connection, this property can be used to specify the TLS/SSL certificate to be accepted from the server. Any other certificate that is not trusted by the machine is rejected.

This property can take the following forms:

Description Example
A full PEM Certificate (example shortened for brevity) -----BEGIN CERTIFICATE----- MIIChTCCAe4CAQAwDQYJKoZIhv......Qw== -----END CERTIFICATE-----
A path to a local file containing the certificate C:\cert.cer
The public key (example shortened for brevity) -----BEGIN RSA PUBLIC KEY----- MIGfMA0GCSq......AQAB -----END RSA PUBLIC KEY-----
The MD5 Thumbprint (hex values can also be either space or colon separated) ecadbdda5a1529c58a1e9e09828d70e4
The SHA1 Thumbprint (hex values can also be either space or colon separated) 34a929226ae0819f2ec14b4a3d904f801cbb150d

If not specified, any certificate trusted by the machine is accepted.

Use '*' to signify to accept all certificates. Note that this is not recommended due to security concerns.

Btrieve Connector for CData Sync

Firewall

This section provides a complete list of the Firewall properties you can configure in the connection string for this provider.


PropertyDescription
FirewallTypeThe protocol used by a proxy-based firewall.
FirewallServerThe name or IP address of a proxy-based firewall.
FirewallPortThe TCP port for a proxy-based firewall.
FirewallUserThe user name to use to authenticate with a proxy-based firewall.
FirewallPasswordA password used to authenticate to a proxy-based firewall.
Btrieve Connector for CData Sync

FirewallType

The protocol used by a proxy-based firewall.

Remarks

This property specifies the protocol that the Sync App will use to tunnel traffic through the FirewallServer proxy.

Type Default Port Description
TUNNEL 80 When this is set, the Sync App opens a connection to Btrieve and traffic flows back and forth through the proxy.
SOCKS4 1080 When this is set, the Sync App sends data through the SOCKS 4 proxy specified by FirewallServer and FirewallPort and passes the FirewallUser value to the proxy, which determines if the connection request should be granted.
SOCKS5 1080 When this is set, the Sync App sends data through the SOCKS 5 proxy specified by FirewallServer and FirewallPort. If your proxy requires authentication, set FirewallUser and FirewallPassword to credentials the proxy recognizes.

Btrieve Connector for CData Sync

FirewallServer

The name or IP address of a proxy-based firewall.

Remarks

This property specifies the IP address, DNS name, or host name of a proxy allowing traversal of a firewall. The protocol is specified by FirewallType: Use FirewallServer with this property to connect through SOCKS or do tunneling.

Btrieve Connector for CData Sync

FirewallPort

The TCP port for a proxy-based firewall.

Remarks

This specifies the TCP port for a proxy allowing traversal of a firewall. Use FirewallServer to specify the name or IP address. Specify the protocol with FirewallType.

Btrieve Connector for CData Sync

FirewallUser

The user name to use to authenticate with a proxy-based firewall.

Remarks

The FirewallUser and FirewallPassword properties are used to authenticate against the proxy specified in FirewallServer and FirewallPort, following the authentication method specified in FirewallType.

Btrieve Connector for CData Sync

FirewallPassword

A password used to authenticate to a proxy-based firewall.

Remarks

This property is passed to the proxy specified by FirewallServer and FirewallPort, following the authentication method specified by FirewallType.

Btrieve Connector for CData Sync

Logging

This section provides a complete list of the Logging properties you can configure in the connection string for this provider.


PropertyDescription
LogModulesCore modules to be included in the log file.
Btrieve Connector for CData Sync

LogModules

Core modules to be included in the log file.

Remarks

Only the modules specified (separated by ';') will be included in the log file. By default all modules are included.

See the Logging page for an overview.

Btrieve Connector for CData Sync

Schema

This section provides a complete list of the Schema properties you can configure in the connection string for this provider.


PropertyDescription
LocationA path to the directory that contains the schema files defining tables, views, and stored procedures.
BrowsableSchemasThis property restricts the schemas reported to a subset of the available schemas. For example, BrowsableSchemas=SchemaA,SchemaB,SchemaC.
TablesThis property restricts the tables reported to a subset of the available tables. For example, Tables=TableA,TableB,TableC.
ViewsRestricts the views reported to a subset of the available tables. For example, Views=ViewA,ViewB,ViewC.
Btrieve Connector for CData Sync

Location

A path to the directory that contains the schema files defining tables, views, and stored procedures.

Remarks

The path to a directory which contains the schema files for the Sync App (.rsd files for tables and views, .rsb files for stored procedures). The folder location can be a relative path from the location of the executable. The Location property is only needed if you want to customize definitions (for example, change a column name, ignore a column, and so on) or extend the data model with new tables, views, or stored procedures.

If left unspecified, the default location is "%APPDATA%\\CData\\Btrieve Data Provider\\Schema" with %APPDATA% being set to the user's configuration directory:

Platform %APPDATA%
Windows The value of the APPDATA environment variable
Linux ~/.config

Btrieve Connector for CData Sync

BrowsableSchemas

This property restricts the schemas reported to a subset of the available schemas. For example, BrowsableSchemas=SchemaA,SchemaB,SchemaC.

Remarks

Listing the schemas from databases can be expensive. Providing a list of schemas in the connection string improves the performance.

Btrieve Connector for CData Sync

Tables

This property restricts the tables reported to a subset of the available tables. For example, Tables=TableA,TableB,TableC.

Remarks

Listing the tables from some databases can be expensive. Providing a list of tables in the connection string improves the performance of the Sync App.

This property can also be used as an alternative to automatically listing views if you already know which ones you want to work with and there would otherwise be too many to work with.

Specify the tables you want in a comma-separated list. Each table should be a valid SQL identifier with any special characters escaped using square brackets, double-quotes or backticks. For example, Tables=TableA,[TableB/WithSlash],WithCatalog.WithSchema.`TableC With Space`.

Note that when connecting to a data source with multiple schemas or catalogs, you will need to provide the fully qualified name of the table in this property, as in the last example here, to avoid ambiguity between tables that exist in multiple catalogs or schemas.

Btrieve Connector for CData Sync

Views

Restricts the views reported to a subset of the available tables. For example, Views=ViewA,ViewB,ViewC.

Remarks

Listing the views from some databases can be expensive. Providing a list of views in the connection string improves the performance of the Sync App.

This property can also be used as an alternative to automatically listing views if you already know which ones you want to work with and there would otherwise be too many to work with.

Specify the views you want in a comma-separated list. Each view should be a valid SQL identifier with any special characters escaped using square brackets, double-quotes or backticks. For example, Views=ViewA,[ViewB/WithSlash],WithCatalog.WithSchema.`ViewC With Space`.

Note that when connecting to a data source with multiple schemas or catalogs, you will need to provide the fully qualified name of the table in this property, as in the last example here, to avoid ambiguity between tables that exist in multiple catalogs or schemas.

Btrieve Connector for CData Sync

Miscellaneous

This section provides a complete list of the Miscellaneous properties you can configure in the connection string for this provider.


PropertyDescription
ClientCharsetSpecifies client character set for encoding and decoding character data transferred to and from the Database. If the table name and database path contain non-ASCII characters, make sure the client character set, operating system encoding and database encoding are the same. If not, just make sure the client character set and database encoding are the same.
MaxRowsLimits the number of rows returned when no aggregation or GROUP BY is used in the query. This takes precedence over LIMIT clauses.
OtherThese hidden properties are used only in specific use cases.
TimeoutThe value in seconds until the timeout error is thrown, canceling the operation.
Btrieve Connector for CData Sync

ClientCharset

Specifies client character set for encoding and decoding character data transferred to and from the Database. If the table name and database path contain non-ASCII characters, make sure the client character set, operating system encoding and database encoding are the same. If not, just make sure the client character set and database encoding are the same.

Remarks

For JAVA code, the default value is "ISO-8859-1". For C# code, the default valus is same as the operating system encoding.

Btrieve Connector for CData Sync

MaxRows

Limits the number of rows returned when no aggregation or GROUP BY is used in the query. This takes precedence over LIMIT clauses.

Remarks

Limits the number of rows returned when no aggregation or GROUP BY is used in the query. This takes precedence over LIMIT clauses.

Btrieve Connector for CData Sync

Other

These hidden properties are used only in specific use cases.

Remarks

The properties listed below are available for specific use cases. Normal driver use cases and functionality should not require these properties.

Specify multiple properties in a semicolon-separated list.

Integration and Formatting

DefaultColumnSizeSets the default length of string fields when the data source does not provide column length in the metadata. The default value is 2000.
ConvertDateTimeToGMTDetermines whether to convert date-time values to GMT, instead of the local time of the machine.
RecordToFile=filenameRecords the underlying socket data transfer to the specified file.

Btrieve Connector for CData Sync

Timeout

The value in seconds until the timeout error is thrown, canceling the operation.

Remarks

If Timeout = 0, operations do not time out. The operations run until they complete successfully or until they encounter an error condition.

If Timeout expires and the operation is not yet complete, the Sync App throws an exception.

Copyright (c) 2023 CData Software, Inc. - All rights reserved.
Build 23.0.8565