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 connecting, see Establishing a Connection.
| Property | Description |
| AuthScheme | The authentication scheme used. Accepted entries are Password, OKTA, PrivateKey, AzureAD, AzureMSI, OAuth, PingFederate, or ExternalBrowser. |
| Account | The Account provided for authentication with Snowflake database. This is usually derived from the URL automatically. |
| Warehouse | The name of the Snowflake warehouse. |
| User | The username provided for authentication with the Snowflake database. |
| Password | The user's password. |
| URL | The URL of Snowflake database. |
| MFAPasscode | Specifies the passcode to use for multi-factor authentication. |
| RoleName | The role of the Snowflake user: PUBLIC, SYSADMIN, or ACCOUNTADMIN. |
| CredentialsLocation | The location of the settings file where credentials are saved. |
| AzureResource | The Azure Active resource to authenticate to (used during Azure Managed Service Identity exchange).It should be set to the App Id URI. |
| Property | Description |
| UseVirtualHosting | If true (default), buckets will be referenced in the request using the hosted-style request: http://yourbucket.s3.amazonaws.com/yourobject. If set to false, the bean will use the path-style request: http://s3.amazonaws.com/yourbucket/yourobject. Note that this property will be set to false, in case of an S3 based custom service when the CustomURL is specified. |
| Property | Description |
| AzureTenant | Identifies the Snowflake tenant being used to access data, either by name (for example, contoso.omnicrosoft.com) or ID. (Conditional). |
| Property | Description |
| ProofKey | The ProofKey for authentication with Snowflake database. This is usually derived from GetSSOAuthorizationURL call. |
| ExternalToken | The External Token for authentication with the Snowflake database. This is usually derived from the external handler. For example, handle the callback URL from procedure GetSSOAuthorizationURL will get this token. |
| SSOProperties | Additional properties required to connect to the identity provider in a semicolon-separated list. |
| Property | Description |
| PrivateKey | The private key provided for key pair authentication with Snowflake. |
| PrivateKeyPassword | The password for the private key specified in the PrivateKey property, if required. |
| PrivateKeyType | The type of key store containing the private key to use with key pair authentication. |
| PrivateKeySubject | The subject of the certificate containing the private key to use with key pair authentication. |
| 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 that was assigned the custom OAuth application was created. (Also known as the consumer key.) This ID registers the custom application with the OAuth authorization server. |
| OAuthClientSecret | Specifies the client secret that was assigned when the custom OAuth application was created. (Also known as the consumer secret ). This secret registers the custom application with the OAuth authorization server. |
| OAuthAccessToken | A token received after authentication to the OAuth network, granting the user access. The access token is used in place of the user's login ID and password, which stay on the server. |
| CallbackURL | The OAuth callback URL to return to when authenticating. This value must match the callback URL you specify in your Add-In settings. |
| State | An optional value that has meaning for your OAuth App. |
| 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. |
| OAuthAuthenticator | This determines the authenticator that the OAuth application requests from Snowflake. |
| Scope | This determines the scopes that the OAuth application requests from Snowflake. |
| OAuthAuthorizationURL | The authorization URL for the OAuth service. |
| OAuthAccessTokenURL | The URL to retrieve the OAuth access token from. |
| 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. |
| PKCEVerifier | A random value used as input for calling GetOAuthAccessToken in the PKCE flow. |
| OAuthRefreshToken | Gets and refreshes the currently-active OAuth Access Token. |
| 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 |
| SSLServerCert | Specifies the certificate to be accepted from the server when connecting using TLS/SSL. |
| Property | Description |
| FirewallType | Specifies the protocol the provider uses to tunnel traffic through a proxy-based firewall. |
| FirewallServer | Identifies the IP address, DNS name, or host name of a proxy used to traverse a firewall and relay user queries to network resources. |
| FirewallPort | Specifies the TCP port to be used for a proxy-based firewall. |
| FirewallUser | Identifies the user ID of the account authenticating to a proxy-based firewall. |
| FirewallPassword | Specifies the password of the user account authenticating to a proxy-based firewall. |
| Property | Description |
| ProxyAutoDetect | Specifies whether the provider checks your system proxy settings for existing proxy server configurations, rather than using a manually specified proxy server. |
| ProxyServer | The hostname or IP address of the proxy server that you want to route HTTP traffic through. |
| ProxyPort | The TCP port on your specified proxy server (set in the ProxyServer connection property) that has been reserved for routing HTTP traffic to and from the client. |
| ProxyAuthScheme | Specifies the authentication method the provider uses when authenticating to the proxy server specified in the ProxyServer connection property. |
| ProxyUser | The username of a user account registered with the proxy server specified in the ProxyServer connection property. |
| ProxyPassword | The password associated with the user specified in the ProxyUser connection property. |
| ProxySSLType | The SSL type to use when connecting to the proxy server specified in the ProxyServer connection property. |
| ProxyExceptions | A semicolon separated list of destination hostnames or IPs that are exempt from connecting through the proxy server set in the ProxyServer connection property. |
| Property | Description |
| Logfile | Specifes the file path to the log file where the provider records its activities, such as authentication, query execution, and connection details. |
| Verbosity | Specifies the verbosity level of the log file, which controls the amount of detail logged. Supported values range from 1 to 5. |
| LogModules | Specifies the core modules to include in the log file. Use a semicolon-separated list of module names. By default, all modules are logged. |
| MaxLogFileSize | Specifies the maximum size of a single log file in bytes. For example, '10 MB'. When the file reaches the limit, the provider creates a new log file with the date and time appended to the name. |
| MaxLogFileCount | Specifies the maximum number of log files the provider retains. When the limit is reached, the oldest log file is deleted to make space for a new one. |
| 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 . |
| Database | The name of the Snowflake database. |
| Schema | The schema of the Snowflake database. |
| Property | Description |
| AutoCache | Specifies whether the content of tables targeted by SELECT queries is automatically cached to the specified cache database. |
| CacheProvider | The namespace of an ADO.NET provider. The specified provider is used as the target database for all caching operations. |
| CacheConnection | The connection string for the specified cache database. |
| CacheLocation | Specifies the path to the cache when caching to a file. |
| CacheTolerance | The tolerance, in seconds, for stale data in the specified cache database. |
| Offline | Get the data from the specified cache database instead of live Snowflake data. |
| CacheMetadata | Determines whether the provider caches table metadata to a file-based cache database. |
| Property | Description |
| AllowPreparedStatement | Prepare a query statement before its execution. |
| AllowUserVariables | When set to True, user variables (prefixed by an $) can be used in SQL queries. |
| ApplicationName | The application name connection string property expresses the HTTP User-Agent. |
| AsyncQueryTimeout | The timeout for asynchronous requests issued by the provider to download large result sets. |
| BatchMode | Allow specifying the batch mode. Default: Auto. |
| BatchSize | Specifies the maximum number of rows included in each batch operation. Set to 0 to submit the entire batch as a single request. |
| BindingType | Allow specifying the binding type for the Date, Time and Timestamp_* type. |
| ConnectionLifeTime | Specifies the maximum lifetime of a connection in seconds. When the specified time elapses, the provider closes the connection. Set to 0 or leave empty for no time limit. |
| CustomStage | The name of a custom stage to use during bulk write operations. |
| ExternalStageAWSAccessKey | Your AWS account access key. Only used when defining a CustomStage for bulk write operations. |
| ExternalStageAWSSecretKey | Your AWS account secret key. Only used when defining a CustomStage for bulk write operations. |
| ExternalStageAzureSASToken | The string value of the Azure Blob shared access signature. |
| IgnoreCase | Whether to ignore case in identifiers. Default: false. |
| IncludeTableTypes | If set to true, the provider will report the types of individual tables and views. |
| MaxRows | Specifies the maximum rows returned for queries without aggregation or GROUP BY. |
| MaxThreads | Specifies the number of concurrent requests. |
| MergeDelete | A boolean indicating whether batch DELETE statements should be converted to MERGE statements automatically. Only used when the DELETE statement's where clause contains a table's primary key field only and they are combined with AND logical operator. |
| MergeInsert | A boolean indicating whether INSERT statements should be converted to MERGE statements automatically. Only used when the INSERT contains a table's primary key field. |
| MergeUpdate | A boolean indicating whether batch UPDATE statements should be converted to MERGE statements automatically. Only used when the UPDATE statement's where clause contains a table's primary key field only and they are combined with AND logical operator. |
| 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. |
| Pagesize | Specifies the maximum number of results to return from Snowflake, per page. This setting overrides the default page size set by the datasource, which is optimized for most use cases. |
| PoolIdleTimeout | Specifies the maximum idle time, in seconds, that a connection can remain in the pool before being closed. |
| PoolMaxSize | Specifies the maximum number of connections allowed in the connection pool. The default value is 100. Set to 0 or a negative value to disable pooling. |
| PoolMinSize | Specifies the minimum number of connections maintained in the connection pool. The default value is 1. |
| PoolWaitTime | Specifies the maximum number of seconds a connection request waits for an available connection in the pool. If the wait exceeds this time, an error is returned. The default is 60 seconds. |
| QueryPassthrough | This option passes the query to the Snowflake server as is. |
| Readonly | Toggles read-only access to Snowflake from the provider. |
| ReplaceInvalidUTF8Chars | Specifies whether to repalce invalid UTF8 characters with a '?'. |
| RetryOnS3Timeout | Whether or not to retry when network issues occur at during chunk downloading. |
| RTK | Specifies the runtime key for licensing the provider. If unset or invalid, the provider defaults to the standard licensing method. Use this property only in environments where the standard licensing method is unsupported or requires a runtime key. |
| S3Domain | The URI of the S3 bucket you are using as your Snowflake S3 stage. |
| SessionIdleTimeout | The timeout minutes for Session, the values comes from Snowflake's session policy, which indicate the session policy parameter SESSION_IDLE_TIMEOUT_MINS. The default value is 240 minutes. |
| SessionParameters | The session parameters for Snowflake. For example: SessionParameters='QUERY_TAG=MyTag;QUOTED_IDENTIFIERS_IGNORE_CASE=True;';. |
| Timeout | Specifies the maximum time, in seconds, that the provider waits for a server response before throwing a timeout error. The default is 60 seconds. Set to 0 to disable the timeout. |
| UseConnectionPooling | Enables the connection pooling feature, which allows the provider to reuse existing connections instead of creating new ones for each request. |