SingleStore Connection Details
Introduction
Connector Version
This documentation is based on version 25.0.9368 of the connector.
Get Started
SingleStore Version Support
The connector enables connectivity to SingleStore Server through 5.0 to 8.0.
Establish a Connection
Connect to SingleStore
The following connection properties are required in order to connect to data.
- Server: The host name or IP of the server hosting the SingleStore database.
- Port: The port of the server hosting the SingleStore database.
You can also optionally set the following:
- Database: The default database to connect to when connecting to the SingleStore Server. If this is not set, tables from all databases will be returned.
Standard Authentication
To authenticate using standard authentication, set the following:
- User: The user which will be used to authenticate with the SingleStore server.
- Password: The password which will be used to authenticate with the SingleStore server.
Connect Using Integrated Security
As an alternative to providing the standard username and password, you can authenticate trusted users to the server via Windows Authentication.
SSL Authentication
You can leverage SSL authentication to connect to SingleStore data via a secure session. Configure the following connection properties to connect to data:
- SSLClientCert: Set this to the name of the certificate store for the client certificate. Used in the case of 2-way SSL, where truststore and keystore are kept on both the client and server machines.
- SSLClientCertPassword: If a client certificate store is password-protected, set this value to the store's password.
- SSLClientCertSubject: The subject of the TLS/SSL client certificate. Used to locate the certificate in the store.
- SSLClientCertType:; The certificate type of the client store.
- SSLServerCert: The certificate to be accepted from the server.
SSH Authentication
Using SSH, you can securely login to a remote machine. To access SingleStore data via SSH, configure the following connection properties:
- SSHClientCert: Set this to the name of the certificate store for the client certificate.
- SSHClientCertPassword: If a client certificate store is password-protected, set this value to the store's password.
- SSHClientCertSubject: The subject of the TLS/SSL client certificate. Used to locate the certificate in the store.
- SSHClientCertType: The certificate type of the client store.
- SSHPassword: The password that you use to authenticate with the SSH server.
- SSHPort: The port used for SSH operations.
- SSHServer: The SSH authentication server you are trying to authenticate against.
- SSHServerFingerPrint: The SSH Server fingerprint used for verification of the host you are connecting to.
- SSHUser: Set this to the username that you use to authenticate with the SSH server.
Important Notes
Configuration Files and Their Paths
- All references to adding configuration files and their paths refer to files and locations on the Jitterbit agent where the connector is installed. These paths are to be adjusted as appropriate depending on the agent and the operating system. If multiple agents are used in an agent group, identical files will be required on each agent.
Advanced Features
This section details a selection of advanced features of the SingleStore connector.
SSL Configuration
Use SSL Configuration to adjust how connector handles TLS/SSL certificate negotiations. You can choose from various certificate formats. For further information, see the SSLServerCert property under "Connection String Options".
Proxy
To configure the connector using private agent proxy settings, select the Use Proxy Settings checkbox on the connection configuration screen.
Log
For an overview of configuration settings that can be used to refine logging, see Logging. Only two connection properties are required for basic logging, but there are numerous features that support more refined logging, which enables you to use the LogModules connection property to specify subsets of information to be logged.
SSL Configuration
Customize the SSL Configuration
To enable TLS, set UseSSL to True.
With this configuration, the connector attempts to negotiate TLS with the server. The server certificate is validated against the default system trusted certificate store. You can override how the certificate gets validated using the SSLServerCert connection property.
To specify another certificate, see the SSLServerCert connection property.
Client SSL Certificates
The SingleStore connector 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.
Advanced Configurations Properties
The advanced configurations 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. Click the links for further details.
| Property | Description |
|---|---|
AuthScheme |
The scheme used for authentication. |
Server |
The host name or IP of the server hosting the SingleStore database. |
Port |
The port of the server hosting the SingleStore database. |
Database |
The name of the SingleStore database. |
User |
Specifies the user ID of the authenticating SingleStore user account. |
Password |
Specifies the password of the authenticating user account. |
Domain |
The name of the domain for a Windows (NTLM) security login. |
NTLMVersion |
The NTLM version. |
IntegratedUser |
The user that is authenticating to Windows. |
UseSSL |
This field sets whether SSL is enabled. |
| Property | Description |
|---|---|
AzureTenant |
Identifies the SingleStore tenant being used to access data. Accepts either the tenant's domain name (for example, contoso.onmicrosoft.com) or its directory (tenant) ID. |
| Property | Description |
|---|---|
InitiateOAuth |
Specifies the process for obtaining or refreshing the OAuth access token, which maintains user access while an authenticated, authorized user is working. |
OAuthClientId |
Specifies the client ID (also known as the consumer key) assigned to your custom OAuth application. This ID is required to identify the application to the OAuth authorization server during authentication. |
OAuthClientSecret |
Specifies the client secret assigned to your custom OAuth application. This confidential value is used to authenticate the application to the OAuth authorization server. |
OAuthAccessToken |
Specifies the OAuth access token used to authenticate requests to the data source. This token is issued by the authorization server after a successful OAuth exchange. |
OAuthSettingsLocation |
Specifies the location of the settings file where OAuth values are saved. Storing OAuth settings in a central location avoids the need for users to enter OAuth connection properties manually each time they log in. It also enables credentials to be shared across connections or processes. |
OAuthVerifier |
Specifies a verifier code returned from the OAuthAuthorizationURL. Used when authenticating to OAuth on a headless server, where a browser can't be launched. Requires both OAuthSettingsLocation and OAuthVerifier to be set. |
OAuthExpiresIn |
Specifies the duration in seconds, of an OAuth Access Token's lifetime. The token can be reissued to keep access alive as long as the user keeps working. |
OAuthTokenTimestamp |
Displays a Unix epoch timestamp in milliseconds that shows how long ago the current Access Token was created. |
| Property | Description |
|---|---|
SSLClientCert |
Specifies the TLS/SSL client certificate store for SSL Client Authentication (2-way SSL). This property works in conjunction with other SSL-related properties to establish a secure connection. |
SSLClientCertType |
Specifies the type of key store containing the TLS/SSL client certificate for SSL Client Authentication. Choose from a variety of key store formats depending on your platform and certificate source. |
SSLClientCertPassword |
Specifes the password required to access the TLS/SSL client certificate store. Use this property if the selected certificate store type requires a password for access. |
SSLClientCertSubject |
Specifes the subject of the TLS/SSL client certificate to locate it in the certificate store. Use a comma-separated list of distinguished name fields, such as CN=www.server.com, C=US. The wildcard * selects the first certificate in the store. |
SSLServerCert |
Specifies the certificate to be accepted from the server when connecting using TLS/SSL. |
| Property | Description |
|---|---|
SSHAuthMode |
The authentication method used when establishing an SSH Tunnel to the service. |
SSHClientCert |
A certificate to be used for authenticating the SSHUser. |
SSHClientCertPassword |
The password of the SSHClientCert key if it has one. |
SSHClientCertSubject |
The subject of the SSH client certificate. |
SSHClientCertType |
The type of SSHClientCert private key. |
SSHServer |
The SSH server. |
SSHPort |
The SSH port. |
SSHUser |
The SSH user. |
SSHPassword |
The SSH password. |
SSHServerFingerprint |
The SSH server fingerprint. |
UseSSH |
Whether to tunnel the SingleStore connection over SSH. Use SSH. |
| Property | Description |
|---|---|
Location |
Specifies the location of a directory containing schema files that define tables, views, and stored procedures. Depending on your service's requirements, this may be expressed as either an absolute path or a relative path. |
BrowsableSchemas |
Optional setting that restricts the schemas reported to a subset of all available schemas. For example, BrowsableSchemas=SchemaA, SchemaB, SchemaC. |
Tables |
Optional setting that restricts the tables reported to a subset of all available tables. For example, Tables=TableA, TableB, TableC. |
Views |
Optional setting that restricts the views reported to a subset of the available tables. For example, Views=ViewA, ViewB, ViewC. |
| Property | Description |
|---|---|
AllowUserVariables |
When set to True, user variables (prefixed by an @) can be used in SQL queries. |
Characterset |
The default client character set used by the provider. For example, 'utf8'. |
ConnectionAttributes |
A list of Partner Connection Metrics, expressed as key-value pairs. |
MaxRows |
Specifies the maximum rows returned for queries without aggregation or GROUP BY. |
Other |
Specifies additional hidden properties for specific use cases. These are not required for typical provider functionality. Use a semicolon-separated list to define multiple properties. |
QueryPassthrough |
This option passes the query to the SingleStore server as is. |
Timeout |
The value in seconds until the connection timeout error is thrown. |
ZeroDatesToNull |
Whether or not to return Date and DateTime values consisting of all zeros as NULL. |
Authentication
This section provides a complete list of authentication properties you can configure.
| Property | Description |
|---|---|
AuthScheme |
The scheme used for authentication. |
Server |
The host name or IP of the server hosting the SingleStore database. |
Port |
The port of the server hosting the SingleStore database. |
Database |
The name of the SingleStore database. |
User |
Specifies the user ID of the authenticating SingleStore user account. |
Password |
Specifies the password of the authenticating user account. |
Domain |
The name of the domain for a Windows (NTLM) security login. |
NTLMVersion |
The NTLM version. |
IntegratedUser |
The user that is authenticating to Windows. |
UseSSL |
This field sets whether SSL is enabled. |
AuthScheme
The scheme used for authentication.
Possible Values
Password, NTLM
Data Type
string
Default Value
Password
Remarks
The scheme used for authentication.
Server
The host name or IP of the server hosting the SingleStore database.
Data Type
string
Default Value
""
Remarks
The host name or IP address of the server. Supports cluster servers, for example '192.168.0.1,192.168.0.2'.
Port
The port of the server hosting the SingleStore database.
Data Type
string
Default Value
3306
Remarks
The port of the SingleStore server. Supports cluster servers, for example: '3306, 3307', the number of the port should match with Servers.
Database
The name of the SingleStore database.
Data Type
string
Default Value
""
Remarks
The default database to connect to when connecting to the SingleStore Server. If this is not set, tables from all databases will be returned.
User
Specifies the user ID of the authenticating SingleStore user account.
Data Type
string
Default Value
""
Remarks
The authenticating server requires both User and Password to validate the user's identity.
Password
Specifies the password of the authenticating user account.
Data Type
string
Default Value
""
Remarks
The authenticating server requires both User and Password to validate the user's identity.
Domain
The name of the domain for a Windows (NTLM) security login.
Data Type
string
Default Value
""
Remarks
The name of the domain for a Windows (NTLM) security login.
NTLMVersion
The NTLM version.
Possible Values
1, 2
Data Type
string
Default Value
1
Remarks
This property specifies the NTLM version to use.
IntegratedUser
The user that is authenticating to Windows.
Data Type
string
Default Value
""
Remarks
The user that is authenticating to Windows.
UseSSL
This field sets whether SSL is enabled.
Data Type
bool
Default Value
false
Remarks
This field sets whether the connector will attempt to negotiate TLS/SSL connections to the server. By default, the connector checks the server's certificate against the system's trusted certificate store. To specify another certificate, set SSLServerCert.
Azure Authentication
This section provides a complete list of Azure authentication properties you can configure.
| Property | Description |
|---|---|
AzureTenant |
Identifies the SingleStore tenant being used to access data. Accepts either the tenant's domain name (for example, contoso.onmicrosoft.com) or its directory (tenant) ID. |
AzureTenant
Identifies the SingleStore tenant being used to access data. Accepts either the tenant's domain name (for example, contoso.onmicrosoft.com) or its directory (tenant) ID.
Data Type
string
Default Value
""
Remarks
A tenant is a digital container for your organization's users and resources, managed through Microsoft Entra ID (formerly Microsoft Entra ID). Each tenant is associated with a unique directory ID, and often with a custom domain (for example, microsoft.com or contoso.onmicrosoft.com).
You can locate the directory (tenant) ID in the Microsoft Entra admin center by navigating to Microsoft Entra ID > Properties and copying the value labeled "Directory (tenant) ID".
This property is required in the following cases:
- When AuthScheme is set to
AzureServicePrincipalorAzureServicePrincipalCert - When AuthScheme is
Microsoft Entra IDand the user account belongs to multiple tenants
You can provide the tenant value in one of two formats:
- A domain name (for example, contoso.onmicrosoft.com)
- A directory (tenant) ID in GUID format (for example, c9d7b8e4-1234-4f90-bc1a-2a28e0f9e9e0)
Specifying the tenant explicitly ensures that the authentication request is routed to the correct directory, which is especially important when a user belongs to multiple tenants or when using service principal–based authentication.
If this value is omitted when required, authentication may fail or connect to the wrong tenant. This can result in errors such as unauthorized or resource not found.
OAuth
This section provides a complete list of OAuth properties you can configure.
| Property | Description |
|---|---|
InitiateOAuth |
Specifies the process for obtaining or refreshing the OAuth access token, which maintains user access while an authenticated, authorized user is working. |
OAuthClientId |
Specifies the client ID (also known as the consumer key) assigned to your custom OAuth application. This ID is required to identify the application to the OAuth authorization server during authentication. |
OAuthClientSecret |
Specifies the client secret assigned to your custom OAuth application. This confidential value is used to authenticate the application to the OAuth authorization server. |
OAuthAccessToken |
Specifies the OAuth access token used to authenticate requests to the data source. This token is issued by the authorization server after a successful OAuth exchange. |
OAuthSettingsLocation |
Specifies the location of the settings file where OAuth values are saved. Storing OAuth settings in a central location avoids the need for users to enter OAuth connection properties manually each time they log in. It also enables credentials to be shared across connections or processes. |
OAuthVerifier |
Specifies a verifier code returned from the OAuthAuthorizationURL. Used when authenticating to OAuth on a headless server, where a browser can't be launched. Requires both OAuthSettingsLocation and OAuthVerifier to be set. |
OAuthExpiresIn |
Specifies the duration in seconds, of an OAuth Access Token's lifetime. The token can be reissued to keep access alive as long as the user keeps working. |
OAuthTokenTimestamp |
Displays a Unix epoch timestamp in milliseconds that shows how long ago the current Access Token was created. |
InitiateOAuth
Specifies the process for obtaining or refreshing the OAuth access token, which maintains user access while an authenticated, authorized user is working.
Possible Values
OFF, REFRESH, GETANDREFRESH
Data Type
string
Default Value
OFF
Remarks
OAuth is an authorization framework that enables applications to obtain limited access to user accounts on an HTTP service. The OAuth flow defines the method to be used for logging in users, exchanging their credentials for an OAuth access token to be used for authentication, and providing limited access to applications.
SingleStore supports the following options for initiating OAuth access:
OFF: No automatic OAuth flow initiation. The OAuth flow is handled entirely by the user, who will take action to obtain their OAuthAccessToken. Note that with this setting the user must refresh the token manually and reconnect with an updated OAuthAccessToken property when the current token expires.GETANDREFRESH: The OAuth flow is handled entirely by the connector. If a token already exists, it is refreshed when necessary. If no token currently exists, it will be obtained by prompting the user to login.REFRESH: The user handles obtaining the OAuth Access Token and sets up the sequence for refreshing the OAuth Access Token. (The user is never prompted to log in to authenticate. After the user logs in, the connector handles the refresh of the OAuth Access Token.
OAuthClientId
Specifies the client ID (also known as the consumer key) assigned to your custom OAuth application. This ID is required to identify the application to the OAuth authorization server during authentication.
Data Type
string
Default Value
""
Remarks
This property is required when using a custom OAuth application, such as in web-based authentication flows, service-based authentication, or certificate-based flows that require application registration. It is also required if an embedded OAuth application is not available for the driver. When an embedded OAuth application is available, this value may already be provided by the connector and not require manual entry.
This value is generally used alongside other OAuth-related properties such as OAuthClientSecret and OAuthSettingsLocation when configuring an authenticated connection.
OAuthClientId is one of the key connection parameters that need to be set before users can authenticate via OAuth. You can typically find this value in your identity provider’s application registration settings. Look for a field labeled Client ID, Application ID, or Consumer Key.
While the client ID is not considered a confidential value like a client secret, it is still part of your application's identity and should be handled carefully. Avoid exposing it in public repositories or shared configuration files.
OAuthClientSecret
Specifies the client secret assigned to your custom OAuth application. This confidential value is used to authenticate the application to the OAuth authorization server.
Data Type
string
Default Value
""
Remarks
This property is required when using a custom OAuth application in any flow that requires secure client authentication, such as web-based OAuth, service-based connections, or certificate-based authorization flows. It is not required when using an embedded OAuth application.
The client secret is used during the token exchange step of the OAuth flow, when the driver requests an access token from the authorization server. If this value is missing or incorrect, authentication will fail, and the server may return an invalid_client or unauthorized_client error.
OAuthClientSecret is one of the key connection parameters that need to be set before users can authenticate via OAuth. You can obtain this value from your identity provider when registering the OAuth application. It may be referred to as the client secret, application secret, or consumer secret.
This value should be stored securely and never exposed in public repositories, scripts, or unsecured environments. Client secrets may also expire after a set period. Be sure to monitor expiration dates and rotate secrets as needed to maintain uninterrupted access.
OAuthAccessToken
Specifies the OAuth access token used to authenticate requests to the data source. This token is issued by the authorization server after a successful OAuth exchange.
Data Type
string
Default Value
""
Remarks
The OAuthAccessToken is a temporary credential that authorizes access to protected resources. It is typically returned by the identity provider after the user or client application completes an OAuth authentication flow. This property is most commonly used in automated workflows or custom OAuth implementations where you want to manage token handling outside of the driver.
The OAuth access token has a server-dependent timeout, limiting user access. This is set using the OAuthExpiresIn property. However, it can be reissued between requests to keep access alive as long as the user keeps working.
If InitiateOAuth is set to REFRESH, we recommend that you also set both OAuthExpiresIn and OAuthTokenTimestamp. The connector uses these properties to determine when the token expires so it can refresh most efficiently. If OAuthExpiresIn and OAuthTokenTimestamp are not specified, the connector refreshes the token immediately.
Access tokens should be treated as sensitive credentials and stored securely. Avoid exposing them in logs, scripts, or configuration files that are not access-controlled.
OAuthSettingsLocation
Specifies the location of the settings file where OAuth values are saved. Storing OAuth settings in a central location avoids the need for users to enter OAuth connection properties manually each time they log in. It also enables credentials to be shared across connections or processes.
Data Type
string
Default Value
%APPDATA%\SingleStore Data Provider\OAuthSettings.txt
Remarks
You can store OAuth values in a central file for shared access to those values, in either of the following ways:
- Set InitiateOAuth to either
GETANDREFRESHorREFRESHand specify a filepath to the OAuth settings file. - Use memory storage to load the credentials into static memory.
The following sections provide more detail on each of these methods.
Specifying the OAuthSettingsLocation Filepath
The default OAuth setting location is %APPDATA%\SingleStore Data Provider\OAuthSettings.txt, with %APPDATA% set to the user's configuration directory.
Default values vary, depending on the user's operating system.
Windows(ODBC and Power BI):registry://%DSN%Windows:%APPDATA%SingleStore Data Provider\OAuthSettings.txtMac:%APPDATA%//SingleStore Data Provider/OAuthSettings.txtLinux:%APPDATA%//SingleStore Data Provider/OAuthSettings.txt
Loading Credentials Via Memory Storage
Memory locations are specified by using a value starting with memory://, followed by a unique identifier for that set of credentials (for example, memory://user1). The identifier can be anything you choose, but it should be unique to the user.
Unlike file-based storage, where credentials persist across connections, memory storage loads the credentials into static memory and the credentials are shared between connections using the same identifier for the life of the process. To persist credentials outside the current process, you must manually store the credentials prior to closing the connection. This enables you to set them in the connection when the process is started again.
To retrieve OAuth property values, query the sys_connection_props system table. If there are multiple connections using the same credentials, the properties are read from the previously closed connection.
Supported Storage Types
memory://: Stores OAuth tokens in-memory (unique identifier, shared within same process, etc.)registry://: Only supported in the Windows ODBC and Power BI editions. Stores OAuth tokens in the registry under the DSN settings. Must end in a DSN name likeregistry://SingleStore connector Data Source, orregistry://%DSN%.%DSN%: The name of the DSN you are connecting with.Default(no prefix): Stores OAuth tokens within files. The value can be either an absolute path, or a path starting with%APPDATA%or%PROGRAMFILES%.
OAuthVerifier
Specifies a verifier code returned from the OAuthAuthorizationURL. Used when authenticating to OAuth on a headless server, where a browser can't be launched. Requires both OAuthSettingsLocation and OAuthVerifier to be set.
Data Type
string
Default Value
""
OAuthExpiresIn
Specifies the duration in seconds, of an OAuth Access Token's lifetime. The token can be reissued to keep access alive as long as the user keeps working.
Data Type
string
Default Value
""
Remarks
The OAuth Access Token is assigned to an authenticated user, granting that user access to the network for a specified period of time. The access token is used in place of the user's login ID and password, which stay on the server.
An access token created by the server is only valid for a limited time. OAuthExpiresIn is the number of seconds the token is valid from when it was created. For example, a token generated at 2024-01-29 20:00:00 UTC that expires at 2024-01-29 21:00:00 UTC (an hour later) would have an OAuthExpiresIn value of 3600, no matter what the current time is.
To determine how long the user has before the Access Token will expire, use OAuthTokenTimestamp.
OAuthTokenTimestamp
Displays a Unix epoch timestamp in milliseconds that shows how long ago the current Access Token was created.
Data Type
string
Default Value
""
Remarks
The OAuth Access Token is assigned to an authenticated user, granting that user access to the network for a specified period of time. The access token is used in place of the user's login ID and password, which stay on the server.
An access token created by the server is only valid for a limited time. OAuthTokenTimestamp is the Unix timestamp when the server created the token. For example, OAuthTokenTimestamp=1706558400 indicates the OAuthAccessToken was generated by the server at 2024-01-29 20:00:00 UTC.
SSL
This section provides a complete list of SSL properties you can configure.
| Property | Description |
|---|---|
SSLClientCert |
Specifies the TLS/SSL client certificate store for SSL Client Authentication (2-way SSL). This property works in conjunction with other SSL-related properties to establish a secure connection. |
SSLClientCertType |
Specifies the type of key store containing the TLS/SSL client certificate for SSL Client Authentication. Choose from a variety of key store formats depending on your platform and certificate source. |
SSLClientCertPassword |
Specifes the password required to access the TLS/SSL client certificate store. Use this property if the selected certificate store type requires a password for access. |
SSLClientCertSubject |
Specifes the subject of the TLS/SSL client certificate to locate it in the certificate store. Use a comma-separated list of distinguished name fields, such as CN=www.server.com, C=US. The wildcard * selects the first certificate in the store. |
SSLServerCert |
Specifies the certificate to be accepted from the server when connecting using TLS/SSL. |
SSLClientCert
Specifies the TLS/SSL client certificate store for SSL Client Authentication (2-way SSL). This property works in conjunction with other SSL-related properties to establish a secure connection.
Data Type
string
Default Value
""
Remarks
This property specifies the client certificate store for SSL Client Authentication. Use this property alongside SSLClientCertType, which defines the type of the certificate store, and SSLClientCertPassword, which specifies the password for password-protected stores. When SSLClientCert is set and SSLClientCertSubject is configured, the driver searches for a certificate matching the specified subject.
Certificate store designations vary by platform. On Windows, certificate stores are identified by names such as MY (personal certificates), while in Java, the certificate store is typically a file containing certificates and optional private keys.
The following are designations of the most common User and Machine certificate stores in Windows:
| Property | Description |
|---|---|
MY |
A certificate store holding personal certificates with their associated private keys. |
CA |
Certifying authority certificates. |
ROOT |
Root certificates. |
SPC |
Software publisher certificates. |
For PFXFile types, set this property to the filename. For PFXBlob types, set this property to the binary contents of the file in PKCS12 format.
SSLClientCertType
Specifies the type of key store containing the TLS/SSL client certificate for SSL Client Authentication. Choose from a variety of key store formats depending on your platform and certificate source.
Possible Values
USER, MACHINE, PFXFILE, PFXBLOB, JKSFILE, JKSBLOB, PEMKEY_FILE, PEMKEY_BLOB, PUBLIC_KEY_FILE, PUBLIC_KEY_BLOB, SSHPUBLIC_KEY_FILE, SSHPUBLIC_KEY_BLOB, P7BFILE, PPKFILE, XMLFILE, XMLBLOB, BCFKSFILE, BCFKSBLOB
Data Type
string
Default Value
USER
Remarks
This property determines the format and location of the key store used to provide the client certificate. Supported values include platform-specific and universal key store formats. The available values and their usage are:
| Property | Description |
|---|---|
USER - default |
For 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. |
MACHINE |
For Windows, this specifies that the certificate store is a machine store. Note that this store type is not available in Java. |
PFXFILE |
The certificate store is the name of a PFX (PKCS12) file containing certificates. |
PFXBLOB |
The certificate store is a string (base-64-encoded) representing a certificate store in PFX (PKCS12) format. |
JKSFILE |
The certificate store is the name of a Java key store (JKS) file containing certificates. Note that this store type is only available in Java. |
JKSBLOB |
The 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_FILE |
The certificate store is the name of a PEM-encoded file that contains a private key and an optional certificate. |
PEMKEY_BLOB |
The certificate store is a string (base64-encoded) that contains a private key and an optional certificate. |
PUBLIC_KEY_FILE |
The certificate store is the name of a file that contains a PEM- or DER-encoded public key certificate. |
PUBLIC_KEY_BLOB |
The certificate store is a string (base-64-encoded) that contains a PEM- or DER-encoded public key certificate. |
SSHPUBLIC_KEY_FILE |
The certificate store is the name of a file that contains an SSH-style public key. |
SSHPUBLIC_KEY_BLOB |
The certificate store is a string (base-64-encoded) that contains an SSH-style public key. |
P7BFILE |
The certificate store is the name of a PKCS7 file containing certificates. |
PPKFILE |
The certificate store is the name of a file that contains a PuTTY Private Key (PPK). |
XMLFILE |
The certificate store is the name of a file that contains a certificate in XML format. |
XMLBLOB |
The certificate store is a string that contains a certificate in XML format. |
BCFKSFILE |
The certificate store is the name of a file that contains an Bouncy Castle keystore. |
BCFKSBLOB |
The certificate store is a string (base-64-encoded) that contains a Bouncy Castle keystore. |
SSLClientCertPassword
Specifes the password required to access the TLS/SSL client certificate store. Use this property if the selected certificate store type requires a password for access.
Data Type
string
Default Value
""
Remarks
This property provides the password needed to open a password-protected certificate store. This property is necessary when using certificate stores that require a password for decryption, as is often recommended for PFX or JKS type stores.
If the certificate store type does not require a password, for example USER or MACHINE on Windows, this property can be left blank. Ensure that the password matches the one associated with the specified certificate store to avoid authentication errors.
SSLClientCertSubject
Specifes the subject of the TLS/SSL client certificate to locate it in the certificate store. Use a comma-separated list of distinguished name fields, such as CN=www.server.com, C=US. The wildcard * selects the first certificate in the store.
Data Type
string
Default Value
*
Remarks
This property determines which client certificate to load based on its subject. The connector searches for a certificate that exactly matches the specified subject. If no exact match is found, the connector looks for certificates containing the value of the subject. If no match is found, no certificate is selected.
The subject should follow the standard format of a comma-separated list of distinguished name fields and values. For example, CN=www.server.com, OU=Test, C=US. Common fields include the following:
| Field | Meaning |
|---|---|
CN |
Common Name. This is commonly a host name like www.server.com. |
O |
Organization |
OU |
Organizational Unit |
L |
Locality |
S |
State |
C |
Country |
E |
Email Address |
Note
If any field contains special characters, such as commas, the value must be quoted. For example: CN="Example, Inc.", C=US.
SSLServerCert
Specifies the certificate to be accepted from the server when connecting using TLS/SSL.
Data Type
string
Default Value
""
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.
Certificates are validated as trusted by the machine based on the System's trust store. The trust store used is the 'javax.net.ssl.trustStore' value specified for the system. If no value is specified for this property, Java's default trust store is used (for example, JAVA_HOME\lib\security\cacerts).
Use '*' to signify to accept all certificates. Note that this is not recommended due to security concerns.
SSH
This section provides a complete list of SSH properties you can configure.
| Property | Description |
|---|---|
SSHAuthMode |
The authentication method used when establishing an SSH Tunnel to the service. |
SSHClientCert |
A certificate to be used for authenticating the SSHUser. |
SSHClientCertPassword |
The password of the SSHClientCert key if it has one. |
SSHClientCertSubject |
The subject of the SSH client certificate. |
SSHClientCertType |
The type of SSHClientCert private key. |
SSHServer |
The SSH server. |
SSHPort |
The SSH port. |
SSHUser |
The SSH user. |
SSHPassword |
The SSH password. |
SSHServerFingerprint |
The SSH server fingerprint. |
UseSSH |
Whether to tunnel the SingleStore connection over SSH. Use SSH. |
SSHAuthMode
The authentication method used when establishing an SSH Tunnel to the service.
Possible Values
None, Password, Public_Key
Data Type
string
Default Value
Password
Remarks
- None: No authentication is performed. The current SSHUser value is ignored, and the connection is logged in as anonymous.
- Password: The connector uses the values of SSHUser and SSHPassword to authenticate the user.
- Public_Key: The connector uses the values of SSHUser and SSHClientCert to authenticate the user. SSHClientCert must have a private key available for this authentication method to succeed.
SSHClientCert
A certificate to be used for authenticating the SSHUser.
Data Type
string
Default Value
""
Remarks
SSHClientCert must contain a valid private key in order to use public key authentication. A public key is optional, if one is not included then the connector generates it from the private key. The connector sends the public key to the server and the connection is allowed if the user has authorized the public key.
The SSHClientCertType field specifies the type of the key store specified by SSHClientCert. If the store is password protected, specify the password in SSHClientCertPassword.
Some types of key stores are containers which may include multiple keys. By default the connector will select the first key in the store, but you can specify a specific key using SSHClientCertSubject.
SSHClientCertPassword
The password of the SSHClientCert key if it has one.
Data Type
string
Default Value
""
Remarks
This property is required for SSH tunneling when using certificate-based authentication. If the SSH certificate is in a password-protected key store, provide the password using this property to access the certificate.
SSHClientCertSubject
The subject of the SSH client certificate.
Data Type
string
Default Value
*
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 instance "CN=www.server.com, OU=test, C=US, E=example@jbexample.com". Common fields and their meanings are displayed below.
| Field | Meaning |
|---|---|
CN |
Common Name. This is commonly a host name like www.server.com. |
O |
Organization |
OU |
Organizational Unit |
L |
Locality |
S |
State |
C |
Country |
E |
Email Address |
If a field value contains a comma it must be quoted.
SSHClientCertType
The type of SSHClientCert private key.
Possible Values
USER, MACHINE, PFXFILE, PFXBLOB, JKSFILE, JKSBLOB, PEMKEY_FILE, PEMKEY_BLOB, PPKFILE, PPKBLOB, XMLFILE, XMLBLOB
Data Type
string
Default Value
PEMKEY_FILE
Remarks
This property can take one of the following values:
| Types | Description | Allowed Blob Values |
|---|---|---|
| MACHINE/USER | Not available on this platform. | Blob values are not supported. |
| JKSFILE/JKSBLOB | A Java keystore file. Must contain both a certificate and a private key. Only available in Java. | base64-only |
| PFXFILE/PFXBLOB | A PKCS12-format (.pfx) file. Must contain both a certificate and a private key. | base64-only |
| PEMKEY_FILE/PEMKEY_BLOB | A PEM-format file. Must contain an RSA, DSA, or OPENSSH private key. Can optionally contain a certificate matching the private key. | base64 or plain text. |
| PPKFILE/PPKBLOB | A PuTTY-format private key created using the puttygen tool. |
base64-only |
| XMLFILE/XMLBLOB | An XML key in the format generated by the .NET RSA class: RSA.ToXmlString(true). |
base64 or plain text. |
SSHServer
The SSH server.
Data Type
string
Default Value
""
Remarks
The SSH server.
SSHPort
The SSH port.
Data Type
string
Default Value
22
Remarks
The SSH port.
SSHUser
The SSH user.
Data Type
string
Default Value
""
Remarks
The SSH user.
SSHPassword
The SSH password.
Data Type
string
Default Value
""
Remarks
The SSH password.
SSHServerFingerprint
The SSH server fingerprint.
Data Type
string
Default Value
""
Remarks
The SSH server fingerprint.
UseSSH
Whether to tunnel the SingleStore connection over SSH. Use SSH.
Data Type
bool
Default Value
false
Remarks
By default the connector will attempt to connect directly to SingleStore. When this option is enabled, the connector will instead establish an SSH connection with the SSHServer and tunnel the connection to SingleStore through it.
Schema
This section provides a complete list of schema properties you can configure.
| Property | Description |
|---|---|
Location |
Specifies the location of a directory containing schema files that define tables, views, and stored procedures. Depending on your service's requirements, this may be expressed as either an absolute path or a relative path. |
BrowsableSchemas |
Optional setting that restricts the schemas reported to a subset of all available schemas. For example, BrowsableSchemas=SchemaA, SchemaB, SchemaC. |
Tables |
Optional setting that restricts the tables reported to a subset of all available tables. For example, Tables=TableA, TableB, TableC. |
Views |
Optional setting that restricts the views reported to a subset of the available tables. For example, Views=ViewA, ViewB, ViewC. |
Location
Specifies the location of a directory containing schema files that define tables, views, and stored procedures. Depending on your service's requirements, this may be expressed as either an absolute path or a relative path.
Data Type
string
Default Value
%APPDATA%\SingleStore Data Provider\Schema
Remarks
The Location property is only needed if you want to either customize definitions (for example, change a column name, ignore a column, etc.) or extend the data model with new tables, views, or stored procedures.
If left unspecified, the default location is %APPDATA%\SingleStore Data Provider\Schema, where %APPDATA% is set to the user's configuration directory:
| Platform | %APPDATA% |
|---|---|
Windows |
The value of the APPDATA environment variable |
Mac |
~/Library/Application Support |
Linux |
~/.config |
BrowsableSchemas
Optional setting that restricts the schemas reported to a subset of all available schemas. For example, BrowsableSchemas=SchemaA,SchemaB,SchemaC.
Data Type
string
Default Value
""
Remarks
Listing all available database schemas can take extra time, thus degrading performance. Providing a list of schemas in the connection string saves time and improves performance.
Tables
Optional setting that restricts the tables reported to a subset of all available tables. For example, Tables=TableA,TableB,TableC.
Data Type
string
Default Value
""
Remarks
Listing all available tables from some databases can take extra time, thus degrading performance. Providing a list of tables in the connection string saves time and improves performance.
If there are lots of tables available and you already know which ones you want to work with, you can use this property to restrict your viewing to only those tables. To do this, 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
If you are connecting to a data source with multiple schemas or catalogs, you must specify each table you want to view by its fully qualified name. This avoids ambiguity between tables that may exist in multiple catalogs or schemas.
Views
Optional setting that restricts the views reported to a subset of the available tables. For example, Views=ViewA,ViewB,ViewC.
Data Type
string
Default Value
""
Remarks
Listing all available views from some databases can take extra time, thus degrading performance. Providing a list of views in the connection string saves time and improves performance.
If there are lots of views available and you already know which ones you want to work with, you can use this property to restrict your viewing to only those views. To do this, 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
If you are connecting to a data source with multiple schemas or catalogs, you must specify each view you want to examine by its fully qualified name. This avoids ambiguity between views that may exist in multiple catalogs or schemas.
Miscellaneous
This section provides a complete list of miscellaneous properties you can configure.
| Property | Description |
|---|---|
AllowUserVariables |
When set to True, user variables (prefixed by an @) can be used in SQL queries. |
Characterset |
The default client character set used by the provider. For example, 'utf8'. |
ConnectionAttributes |
A list of Partner Connection Metrics, expressed as key-value pairs. |
MaxRows |
Specifies the maximum rows returned for queries without aggregation or GROUP BY. |
Other |
Specifies additional hidden properties for specific use cases. These are not required for typical provider functionality. Use a semicolon-separated list to define multiple properties. |
QueryPassthrough |
This option passes the query to the SingleStore server as is. |
Timeout |
The value in seconds until the connection timeout error is thrown. |
ZeroDatesToNull |
Whether or not to return Date and DateTime values consisting of all zeros as NULL. |
AllowUserVariables
When set to True, user variables (prefixed by an @) can be used in SQL queries.
Data Type
bool
Default Value
false
Remarks
When set to True, user variables (prefixed by an @) can be used in SQL queries. The default behavior is to treat identifiers prefixed with @ as command parameters.
Characterset
The default client character set used by the provider. For example, 'utf8'.
Data Type
string
Default Value
""
Remarks
By default the client character set is determined from the server's language settings, but you can override that value by setting this option. This can be useful if you need to use a specific encoding or collation in your queries.
ConnectionAttributes
A list of Partner Connection Metrics, expressed as key-value pairs.
Data Type
string
Default Value
""
Remarks
This property must be formatted as a comma-separated list of key-value pairs in the form key:value, with no null characters between them.
Example: program_name:PartnerName_ProductName,program_version:1.2.3
MaxRows
Specifies the maximum rows returned for queries without aggregation or GROUP BY.
Data Type
int
Default Value
-1
Remarks
This property sets an upper limit on the number of rows the connector returns for queries that do not include aggregation or GROUP BY clauses. This limit ensures that queries do not return excessively large result sets by default.
When a query includes a LIMIT clause, the value specified in the query takes precedence over the MaxRows setting. If MaxRows is set to "-1", no row limit is enforced unless a LIMIT clause is explicitly included in the query.
This property is useful for optimizing performance and preventing excessive resource consumption when executing queries that could otherwise return very large datasets.
Other
Specifies additional hidden properties for specific use cases. These are not required for typical provider functionality. Use a semicolon-separated list to define multiple properties.
Data Type
string
Default Value
""
Remarks
This property allows advanced users to configure hidden properties for specialized scenarios. These settings are not required for normal use cases but can address unique requirements or provide additional functionality. Multiple properties can be defined in a semicolon-separated list.
Note
It is strongly recommended to set these properties only when advised by the support team to address specific scenarios or issues.
Specify multiple properties in a semicolon-separated list.
Integration and Formatting
| Property | Description |
|---|---|
DefaultColumnSize |
Sets the default length of string fields when the data source does not provide column length in the metadata. The default value is 2000. |
ConvertDateTimeToGMT=True |
Converts date-time values to GMT, instead of the local time of the machine. The default value is False (use local time). |
RecordToFile=filename |
Records the underlying socket data transfer to the specified file. |
QueryPassthrough
This option passes the query to the SingleStore server as is.
Data Type
bool
Default Value
false
Remarks
When this is set, queries are passed through directly to SingleStore.
Timeout
The value in seconds until the connection timeout error is thrown.
Data Type
int
Default Value
30
Remarks
If the Timeout property is set to 0, the default of 30 seconds will be used instead.
If Timeout expires and the operation is not yet complete, the connector throws an exception.
ZeroDatesToNull
Whether or not to return Date and DateTime values consisting of all zeros as NULL.
Data Type
bool
Default Value
true
Remarks
Whether or not to return Date and DateTime values consisting of all zeros as NULL. A value of all zeros indicates an invalid Date or DateTime value in SingleStore. Retrieving such a value may cause parsing errors unless you set this property to True.