Cloud

Build 24.0.9175
  • Amazon Redshift
    • Getting Started
      • Establishing a Connection
      • SSL Configuration
      • Firewall and Proxy
    • Data Type Mapping
    • Connection String Options
      • Authentication
        • AuthScheme
        • Server
        • Port
        • Database
        • User
        • Password
        • UseSSL
        • Visibility
      • AWS Authentication
        • AWSAccessKey
        • AWSSecretKey
        • AutoCreate
        • DbGroups
        • AWSRoleARN
        • AWSPrincipalARN
        • AWSRegion
        • AWSSessionToken
      • Azure Authentication
        • AzureTenant
      • SSO
        • SSOLoginURL
        • SSOProperties
        • SSOExchangeUrl
      • OAuth
        • OAuthClientId
        • OAuthClientSecret
        • Scope
      • SSL
        • SSLServerCert
      • SSH
        • SSHAuthMode
        • SSHClientCert
        • SSHClientCertPassword
        • SSHClientCertSubject
        • SSHClientCertType
        • SSHServer
        • SSHPort
        • SSHUser
        • SSHPassword
        • SSHServerFingerprint
        • UseSSH
      • Logging
        • Verbosity
      • Schema
        • BrowsableSchemas
        • IgnoredSchemas
      • Miscellaneous
        • AllowPreparedStatement
        • COPYConversionParameters
        • FetchResultSetMetadata
        • InsertMode
        • IsServerless
        • LZ4Compression
        • MaxRows
        • RedshiftToS3RoleARN
        • S3Bucket
        • S3BucketFolder
        • StripOutNulls
        • Timeout
        • TimeZone
        • UseUIDForStaging

Amazon Redshift - CData Cloud

Overview

CData Cloud offers access to Amazon Redshift across several standard services and protocols, in a cloud-hosted solution. Any application that can connect to a MySQL or SQL Server database can connect to Amazon Redshift through CData Cloud.

CData Cloud allows you to standardize and configure connections to Amazon Redshift as though it were any other OData endpoint, or standard SQL Server/MySQL database.

Key Features

  • Full SQL Support: Amazon Redshift appears as standard relational databases, allowing you to perform operations - Filter, Group, Join, etc. - using standard SQL, regardless of whether these operations are supported by the underlying API.
  • CRUD Support: Both read and write operations are supported, restricted only by security settings that you can configure in Cloud or downstream in the source itself.
  • Secure Access: The administrator can create users and define their access to specific databases and read-only operations or grant full read & write privileges.
  • Comprehensive Data Model & Dynamic Discovery: CData Cloud provides comprehensive access to all of the data exposed in the underlying data source, including full access to dynamic data and easily searchable metadata.

CData Cloud

Getting Started

This page provides a guide to Establishing a Connection to Amazon Redshift in CData Cloud, as well as information on the available resources, and a reference to the available connection properties.

Connecting to Amazon Redshift

Establishing a Connection shows how to authenticate to Amazon Redshift and configure any necessary connection properties to create a database in CData Cloud

Accessing Data from CData Cloud Services

Accessing data from Amazon Redshift through the available standard services and CData Cloud administration is documented in further details in the CData Cloud Documentation.

CData Cloud

Establishing a Connection

Connect to Amazon Redshift by selecting the corresponding icon in the Database tab. Required properties are listed under Settings. The Advanced tab lists connection properties that are not typically required.

Connecting to Amazon Redshift

The following connection properties are usually required to connect to Amazon Redshift.

  • Server: The host name or IP of the server hosting the Amazon Redshift database.
  • Database: The database that you created for your Amazon Redshift cluster.
  • Port (optional): The port of the server hosting the Amazon Redshift database. 5439 by default.

Follow these steps to obtain these values in the AWS Management Console:

  1. Open the Amazon Redshift console (http://console.aws.amazon.com/redshift).
  2. On the Clusters page, click the name of the cluster.
  3. On the Configuration tab, obtain the properties from the "Cluster Database Properties" section. The connection property values are the same as the values set in the ODBC URL.

The Cloud provides secure communication with Amazon Redshift server using SSL encryption. You can optionally turn off SSL encryption by setting UseSSL to false.

You can also leverage SSL authentication to connect to Amazon Redshift data. To do so, specify the following connection properties:

  • SSLClientCert: Set this to the name of the certificate store for the client certificate. This is 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. This is 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.

The following is the example connection string to connect Amazon Redshift using a standard user and password pair and inactive SSL encryption:

User=username;Password=password;Server=example.us-west-2.redshift.amazonaws.com;Database=your_database;UseSSL=false;"

Authenticating to Amazon Redshift

Azure Active Directory

Prerequisites

  • Only non-B2C Azure tenants can complete the Azure AD authentication scheme.
  • You must have an active Azure AD account. If you do not have an active account, create one before beginning this process.

Authentication

To authenticate to Azure AD, you must complete these tasks:

  1. Create and Register an OAuth Application
  2. Create and Configure a Redshift Client Application
  3. Define a New Identity Provider
  4. Specify Connection Properties

The following sections describe these tasks in detail.

Create and Register an OAuth Application

Follow these steps to create an OAuth app for logging into your Amazon Redshift database via Azure:

  1. On the Azure Active Directory Overview page, in the left navigation bar, select App registrations.
  2. Click New registrations at the top of the App registrations page.
  3. On the Register an app page, fill in your details and click Register at the bottom of the page. Save your CallbackURL property value.
  4. After the creation of the application, you are brought to its Overview page. From there, in the left navigation bar:

    1. Click Certificates & secrets.
    2. Click New client secret.
    3. In the Add a client secret window, supply your details and click Add at the bottom of the window.
    4. Save your OAuthClientSecret (the Value field of the OAuth secret that is displayed).

  5. From the newly registered application, click Expose an API in the left navigation bar.
  6. Next to the App ID URI, click Set.
  7. The Set the App ID URI dialog appears with the information filled in from registering. Click Save.
  8. Click Add a scope.
  9. Fill in your details and click Add scope at the bottom of the form.

Create and Configure a Redshift Client Application

Follow these steps to create another application, which serves as the client application for your Amazon Redshift database:

  1. Navigate to the Azure Active Directory management page and click App registrations.
  2. Click New registrations at the top of the page.
  3. On the Register an application page, fill in your details and click Register at the bottom of the page.
  4. Following the creation of the app, you are sent to its Overview page. From there, in the left navigation bar:

    1. Click Certificates & secrets.
    2. Click New client secret.
    3. In the Add a client secret window, supply your details and click Add at the bottom of the window.
    4. Save your OAuthClientSecret (the Value field of the OAuth secret that is displayed).

  5. In the left navigation bar of the client app's management page:

    1. Click API permissions.
    2. Click Add a permission.
    3. Choose Microsoft Graph API.
    4. Click Application permissions.
    5. Select Directory > "Directory.Read.All".
    6. Click Add at the bottom.
    7. Click Grant admin consent.
    8. Click Yes.

  6. In the Azure Active Directory left navigation bar:

    1. Click Groups.
    2. On the Groups page, click New group and fill in the details.
    3. Click No owners selected.
    4. The Add owners window appears. Select the user.
    5. Click Create.

Define a New Identity Provider

Follow these steps to define a new Identify Provider:

  1. In the Azure Active Directory Overviewpage:

    1. Select App registrations from the left navigation pane.
    2. Select the All applications tab and choose your first OAuth application.

  2. In the left navigation bar on the OAuth page, click Manifest. Search in the editor for the accessTokenAcceptedVersion. If the value is null, it is a v1.0 token. If the value is set to 2, this is a v2.0 token.
  3. From the Amazon Redshift instance's query box, submit the identity provider query, following the example below:
        CREATE IDENTITY PROVIDER oauth_standard TYPE azure
        NAMESPACE 'mynamespace'
        PARAMETERS '{
        "issuer":"https://sts.windows.net/your_tenant_here/",
        "client_id":"YourClientId",
        "client_secret":"YourClientSecret",
        "audience":["your_application_id_uri_here"]
        }' 

    Terminology Guide:

    • Your issuer ID: The issuer ID to trust when a token is received. The unique identifier for the tenant_id is appended to the issuer. If using a v1.0 token, use https://sts.windows.net/<your_tenant_id_here>/. If using a v2.0 token, use https://login.microsoftonline.com/<your_tenant_id_here>/v2.0.
    • Your client_id: The unique, public identifier of the application registered with the identity provider. This is referred to as the application ID. It is the clien ID generated for the second application (the Amazon Redshift client application).
    • Your client_secret: A secret identifier, or password, known only to the identity provider and the registered application. This is the secret generated for the second application (the Amazon Redshift application).
    • audience: The Application ID (URI) assigned to the first application (the OAuth application).

    You can use any name you like for the NAMESPACE.

  4. In Amazon Redshift, place the CREATE IDENTITY PROVIDER query (like above example) into the query text box.
  5. Click Run at the bottom of the query box.
  6. In the query text box, create a role on the Redshift database in this format:
    create role "mynamespace:myazuregroup";
    Replace with your identity provider's namespace provided in the CREATE IDENTITY PROVIDER query and the name of Azure group that you created earlier. Click Run at the bottom of the query box.
  7. In the query text box, grant table access to this new role as follows:
    grant select on all tables in schema public to role "mynamespace:myazuregroup";
  8. Replace the above example with your namespace and Azure group name.
  9. Click Run at the bottom of the query box.

Set Connection Properties

Specify the following connection properties:

  • AuthScheme: Set this to AzureAD.
  • Server: Set this to the name of your Amazon Redshift server endpoint.
  • Database: Set this to the name of your Amazon Redshift database that you would like to connect to.
  • User: Set this to the name of the authenticating Amazon Redshift user.
  • AzureTenant: Set this to the ID of the Azure Tenant that your OAuth and client apps were created under. Find this in the Overview page of one of the apps under Directory (tenant) ID.
  • SSOLoginURL: Set this to the value of the Application ID URI, visible on the Overview page of your OAuth app.
  • Scope: For v1.0 OAuth tokens, set this to the Scopes field in the Expose an API page of your OAuth app. For v2.0 OAuth tokens, this will be the same as the OAuth app's Client ID.
  • OAuthClientID: Set this to the first OAuth application client ID in the Overview page of the Amazon Redshift client application that you created.
  • OAuthClientSecret: For your first OAuth application, set this to the Value of the OAuth client secret from the client application's Certificates & secrets page.
  • CallbackURL: Set this to the callback URL of the OAuth app.

Troubleshooting Note If you encounter an "Azure JWT token does not have 'upn' field" error, follow these steps:

  1. On the Azure Active Directory management page, navigate to App Registrations and select your OAuth application.
  2. Click Token configuration in the left navigation bar.
  3. Click Add optional claim.
  4. In the Add optional claim screen, under Token type, click Access.
  5. Under the Claim column, select upn.
  6. Click Add at the bottom.
  7. Select Turn on the Microsoft Graph profile permission (required for claims to appear in the token).
  8. Click Add.
  9. Repeat this process for the client app.
  10. Attempt the connection again.

Azure Active Directory PKCE

To authenticate via Azure AD PKCE, you must complete the following tasks:

  1. Create and Register an OAuth Application
  2. Create and Configure a Redshift Client Application
  3. Define a New Identity Provider
  4. Specify Connection Properties

The following sections describe these tasks in detail.

Create and Register an OAuth Application

Follow these steps to create an OAuth application for logging into your Amazon Redshift database via Azure:

  1. On the Azure Active Directory Overview page, in the left navigation bar, Click App registrations.
  2. Click New registrations at the top of the App registrations page.
  3. On the Register an application page, fill in your details:

    1. For Name, enter a name (for example, "oauth_application").
    2. For Redirect URI, choose Public client/native (mobile and desktop) and enter a valid URL (for example, http://localhost:33333/).

  4. Click Register at the bottom of the page. Save the CallbackURL property value.
  5. From the newly registered application, click Expose an API in the left navigation bar.
  6. Next to the Application ID URI, click Set.
  7. The Set the App ID URI dialog appears with the information filled in your registration. Click Save.
  8. Click Add a scope.
  9. Fill in your details and click Add scope at the bottom of the form.
  10. Save the generated Application ID URI and the API scope; for example, api://6256f0b1-2284-43e4-8501-6e53dec4444f and api://6256f0b1-2284-43e4-8501-6e53dec4444f/jdbc_login.

Create and Configure a Redshift Client Application

Follow these steps to create another application, which serves as the client application for your Amazon Redshift database:

  1. On the Azure Active Directory Overview page, select App registrations from the left navigation bar.
  2. At the top of the App registrations page, click New registrations.
  3. On the Register an application page, fill in your details and click Register at the bottom of the page.
  4. After the creation of the application, you are brought to its Overview page. From there, in the left navigation bar:

    1. Click Certificates & secrets.
    2. Click New client secret.
    3. In the Add a client secret window, add your details and click Add at the bottom of the window.
    4. Save your OAuthClientSecret (the Value field of the OAuth secret that is displayed).

  5. In the left navigation bar of the client app's management page:

    1. Click API permissions.
    2. Click Add a permission.
    3. Choose Microsoft Graph API.
    4. Click Application permissions.
    5. Select Directory > "Directory.Read.All".
    6. Click Add at the bottom.
    7. Click Grant admin consent
    8. Click Yes.

  6. In the Azure Active Directory left navigation bar:

    1. Click Groups.
    2. On the Groups page, click New group and fill in the details.
    3. Click No owners selected.
    4. The Add owners window appears. Select the user.
    5. Click Create.

Define a New Identity Provider

Follow these steps to define a new Identity Provider:

  1. In the Azure Active Directory left navigation bar, click App registrations.
  2. Select the All applications tab and choose your first OAuth application.
  3. On the OAuth screen, in the left navigation bar, click Manifest. Look in the editor for the accessTokenAcceptedVersion. If the value is null or 1, it is a v1.0 token. If the value is 2, this is a v2.0 token.
  4. From the Amazon Redshift instance's query box, submit the identity provider query, following the example below:
        CREATE IDENTITY PROVIDER oauth_standard TYPE azure
        NAMESPACE 'mynamespace'
        PARAMETERS '{
        "issuer":"https://sts.windows.net/your_tenant_here/",
        "client_id":"YourRedshiftApplicationClientId",
        "client_secret":"YourRedshiftApplicationClientSecret"
        ,"audience":["your_oauth_application_id_uri_here"]
        }'
    For a v2.0 token issuer the value should be:
        "issuer":"https://login.microsoftonline.com/your_tenant_here/v2.0",
  5. Terminology Guide:

    1. Your issuer ID: The issuer ID to trust when a token is received. The unique identifier for the tenant_id is appended to the issuer. If you are using a v1.0 token, specify https://sts.windows.net<your_tenant_id_here>. If you are using a v2.0 token, specify https://login.microsoftonline.com<your_tenant_id_here>/v2.0..
    2. Your client_id: The unique, public identifier of the application registered with the identity provider. This is referred to as the application ID. It is the client ID generated for the second application (the Amazon Redshift application).
    3. Your client_secret: A secret identifier, or password, known only to the identity provider and the registered application. This is the secret generated for the second application (the Amazon Redshift application).
    4. audience: The Application ID (URI) assigned to the first application (the OAuth application).
    5. You can use any name you like for the namespace.

  6. In Amazon Redshift, place the CREATE IDENTITY PROVIDER query (like the above example) into the query text box.
  7. Click Run at the bottom of the query box.
  8. In the query text box, create a role on the Redshift database in this format:
    create role "mynamespace:myazuregroup";
  9. Replace with your identity provider's namespace provided in the CREATE IDENTITY PROVIDER query and the name of the Azure group you created earlier.
  10. Click Run at the bottom of the query box.
  11. In the query text box, grant table access to this new role as follows:
    grant select on all tables in schema public to role "mynamespace:myazuregroup";
  12. Replace the above example with your namespace and Azure group name.
  13. Click Run at the bottom of the query box.

Set Connection Properties

After finishing the above configuration, specify the following properties in the driver to connect to amazon Redshift:

  • AuthScheme: Set this to AzureADPKCE.
  • Server: Set this to the name of your Amazon Redshift server endpoint.
  • Database: Set this to the name of your Amazon Redshift database that you want to connect to.
  • Scope: For v1.0 OAuth tokens, set this to the Scopes field in the Expose an API page of your OAuth application (for example,api://d3cb3521-6c20-4e41-b16d-e48c8444ee11/jdbc_login). For v2.0 OAuth tokens, this is the same as the OAuth app's Client ID (for example, d3cb3521-6c20-4e41-b16d-e48c8444ee11).
  • OAuthClientID: Set this to the Application (client) ID in the Overview page of the OAuth application you created.6.
  • CallbackURL: Set this to the callback URL of the OAuth app.

Troubleshooting Note

If you encounter an "Azure JWT token does not have 'upn' field" error, follow these steps:

  1. On the Azure Active Directory management page, navigate to App Registrations and select your OAuth application.
  2. Select Token configuration > Add Optional claim in the left navigation bar.
  3. In the Add optional claim screen, under "Token type", click Access.
  4. Under the Claim column, select upn.
  5. Click Add at the bottom.
  6. Select Turn on the Microsoft Graph profile permission, which is required for claims to appear in the token.
  7. Click Add.
  8. Repeat this process for the client app.
  9. Attempt the connection again.

Standard Authentication

Set the AuthScheme to Basic to connect to Amazon Redshift with login credentials. In addition, set the following connection properties:

  • User: The user which will be used to authenticate with the Amazon Redshift server.
  • Password: The password which will be used to authenticate with the Amazon Redshift server.
The following is an example connection string:
AuthScheme=Basic;User=user;Password=password;Server=example.us-west-2.redshift.amazonaws.com;Database=your_database;

IAM credentials

Set the AuthScheme to IAMCredentials. The following is an example connection string:

AuthScheme=IAMCredentials;Server=example.us-west-2.redshift.amazonaws.com;Database=your_database;User=your_user;AWSAccessKey=your_access_key;AWSSecretKey=your_secretkey;

If you are connecting IAM role with temporary credentials you are also required to apply AWSSessionToken.

You can optionally apply:

  • AutoCreate: Create a database user with the name specified for User if one does not exist while connecting.
  • DbGroups: Database groups the database user joins for the current session.

ADFS

To connect to ADFS, set the AuthScheme to ADFS, and set these properties:

  • User: The ADFS user.
  • Password: The ADFS user's password.
  • SSOLoginURL: The SSO provider's login url.

Example connection string:

AuthScheme=ADFS;User=username;Password=password;SSOLoginURL='https://sts.company.com';

ADFS Integrated

The ADFS Integrated flow indicates you are connecting with the currently logged in Windows user credentials. To use the ADFS Integrated flow, do not specify the User and Password, but otherwise follow the same steps in the ADFS guide above.

To connect to PingFederate, set AuthScheme to PingFederate, and set these properties:

  • User: The PingFederate user.
  • Password: The PingFederate user's password.
  • SSOLoginURL: The SSO provider's login url.
  • AWSRoleARN (optional): If you have multiple role ARNs, specify the one you want to use for authorization.
  • AWSPrincipalARN (optional): If you have multiple principal ARNs, specify the one you want to use for authorization.
  • SSOProperties (optional): Authscheme=Basic if you want to include your username and password as an authorization header in requests to Amazon S3.

To enable mutual SSL authentication for SSOLoginURL, the WS-Trust STS endpoint, configure these SSOProperties:

  • SSLClientCert
  • SSLClientCertType
  • SSLClientCertSubject
  • SSLClientCertPassword

Example connection string:

Server=redshift-cluster-1.xxxxxxxxxxxx.us-east-1.redshift.amazonaws.com;Database=dev;Port=5439;UseSSL=true;SSLServerCert=*;AuthScheme=PingFederate;AutoCreate=TRUE;SSOLoginURL=https://mycustomserver.com:9033/idp/sts.wst;SSOExchangeUrl=https://us-east-1.signin.aws.amazon.com/platform/saml/acs/764ef411-xxxxxx;User=admin;Password=PassValue;AWSRegion=NORTHERNVIRGINIA;

CData Cloud

SSL Configuration

Customizing the SSL Configuration

By default, the Cloud 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 Amazon Redshift Cloud 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.

CData Cloud

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.

CData Cloud

Data Type Mapping

Data Type Mappings

The Cloud maps types from the data source to the corresponding data type available in the schema. The table below documents these mappings.

Amazon Redshift CData Schema
abstime string
aclitem string
bigint long
bigserial long
bit varying string
bit string
boolean bool
box string
bytea binary
char string
character varying string
character string
cid string
cidr string
circle string
date date
daterange string
double precision float
gtsvector string
inet string
int2vector string
int4range string
int8range string
integer int
json string
jsonb binary
line string
lseg string
macaddr8 string
macaddr string
money decimal
name string
numeric decimal
numrange string
oid string
oidvector string
path string
pg_dependencies string
pg_lsn string
pg_ndistinct string
pg_node_tree string
point string
polygon string
real float
refcursor string
regclass string
regconfig string
regdictionary string
regnamespace string
regoper string
regoperator string
regproc string
regprocedure string
regrole string
regtype string
reltime string
serial int
smallint int
smallserial int
smgr string
text string
tid string
time with time zone string
time without time zone time
timestamp with time zone datetime
timestamp without time zone datetime
tinterval string
tsquery string
tsrange string
tstzrange string
tsvector string
txid_snapshot string
uuid string
xid string
xml string

CData Cloud

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
AuthSchemeThe type of authentication to use when connecting to Amazon Redshift.
ServerThe host name or IP address of the Amazon Redshift cluster.
PortThe port number of the Amazon Redshift server.
DatabaseThe name of the Amazon Redshift database.
UserSpecifies the user ID of the authenticating Amazon Redshift user account.
PasswordSpecifies the password of the authenticating user account.
UseSSLThis field sets whether SSL is enabled.
VisibilityFilters metadata for the user's permitted tables as a comma-separated list of queries. For example, to restrict visibility for SELECT and INSERT queries, specify 'SELECT,INSERT'. Permitted values: SELECT, INSERT, UPDATE, DELETE.

AWS Authentication


PropertyDescription
AWSAccessKeyYour AWS account access key or the access key for an authorized IAM user.
AWSSecretKeyYour AWS account secret key or the secret key for an authorized IAM user.
AutoCreateSpecify true to create a database user with the name specified for User if one does not exist while connecting with IAM credentials. See AuthScheme .
DbGroupsA comma-delimited list of the names of one or more existing database groups the database user joins for the current session when connecting with IAM credentials. See AuthScheme .
AWSRoleARNThe Amazon Resource Name of the role to use when authenticating.
AWSPrincipalARNThe ARN of the SAML Identity provider in your AWS account.
AWSRegionThe hosting region for your Amazon Web Services.
AWSSessionTokenYour AWS session token.

Azure Authentication


PropertyDescription
AzureTenantIdentifies the Amazon Redshift tenant being used to access data, either by name (for example, contoso.omnicrosoft.com) or ID. (Conditional).

SSO


PropertyDescription
SSOLoginURLThe identity provider's login URL.
SSOPropertiesAdditional properties required to connect to the identity provider, formatted as a semicolon-separated list.
SSOExchangeUrlThe URL used for consuming the SAML response and exchanging it for service specific credentials.

OAuth


PropertyDescription
OAuthClientIdSpecifies 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.
OAuthClientSecretSpecifies 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.
ScopeSpecifies the scope of the authenticating user's access to the application. Generally specified at the time the custom OAuth application is created (if necessary), so that the authenticating user can obtain the the level of access appropriate to their credentials.

SSL


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

SSH


PropertyDescription
SSHAuthModeThe authentication method used when establishing an SSH Tunnel to the service.
SSHClientCertA certificate to be used for authenticating the SSHUser.
SSHClientCertPasswordThe password of the SSHClientCert key if it has one.
SSHClientCertSubjectThe subject of the SSH client certificate.
SSHClientCertTypeThe type of SSHClientCert private key.
SSHServerThe SSH server.
SSHPortThe SSH port.
SSHUserThe SSH user.
SSHPasswordThe SSH password.
SSHServerFingerprintThe SSH server fingerprint.
UseSSHWhether to tunnel the Amazon Redshift connection over SSH. Use SSH.

Logging


PropertyDescription
VerbositySpecifies the verbosity level of the log file, which controls the amount of detail logged. Supported values range from 1 to 5.

Schema


PropertyDescription
BrowsableSchemasOptional setting that restricts the schemas reported to a subset of all available schemas. For example, BrowsableSchemas=SchemaA,SchemaB,SchemaC .
IgnoredSchemasVisibility restriction filter which is used to hide the list of schemas by metadata quering. For example, 'information_schema, pg_catalog'. Schema names are case sensitive.

Miscellaneous


PropertyDescription
AllowPreparedStatementPrepare a query statement before its execution.
COPYConversionParametersSpecifies the coma separated list of parameter to use in the COPY command when InsertMode is S3Staging or S3StagingWithIAM. Supported parameters are: BLANKSASNULL DELIMITER EMPTYASNULL EXPLICIT_IDS NULL AS TRIMBLANKS TRUNCATECOLUMNS.
FetchResultSetMetadataThis field sets whether the provider retrieves metadata pertaining to the schema and table name for resultset columns returned by the server.
InsertModeSpecifies what method to use when inserting bulk data. By default DML mode is used.
IsServerlessThe provider cannot detect endpoint to connect, if you are using a custom domain names for connections. Set this property to True when you are connecting to the Amazon Redshift serverless instance, as well specify the property AWSRegion in this case.
LZ4CompressionWhen set the driver notifies the server to compress data packets with lz4 compression algorithm.
MaxRowsSpecifies the maximum rows returned for queries without aggregation or GROUP BY.
RedshiftToS3RoleARNThe Amazon Resource Name of the role to use when authenticating S3 with IAM role by the COPY command for the bulk inserts.
S3BucketSpecifies the name of AWS S3 bucket to upload bulk data for staging.
S3BucketFolderSpecifies the name of the folder in AWS S3 bucket to upload bulk data for staging. By default bulk data are staged in the root folder.
StripOutNullsWhen set the null characters are stripped out from character values in bulk operations.
TimeoutSpecifies 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.
TimeZoneSet time zone for the current session.
UseUIDForStagingUse this property in combination with InsertMode assigned with S3Staging or S3StagingWithIAM. By default the the driver creates staging files with names that prepend the targeted table's name, so the files are overwritten between sessions. When the property is set to True , the provider additionally attaches temporary unique identifiers to these names. It may be required if you use parallel jobs to insert rows into the same table. Thus, the staging files are not overwritten by the jobs. A caveat is that using this property adds to the number of staging files put onto S3 bucket, since the file names are not controlled by the driver between different sessions. In this case you may want to define an AWS S3 policy on the bucket to remove staging files that were stored in a bucket automatically.
CData Cloud

Authentication

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


PropertyDescription
AuthSchemeThe type of authentication to use when connecting to Amazon Redshift.
ServerThe host name or IP address of the Amazon Redshift cluster.
PortThe port number of the Amazon Redshift server.
DatabaseThe name of the Amazon Redshift database.
UserSpecifies the user ID of the authenticating Amazon Redshift user account.
PasswordSpecifies the password of the authenticating user account.
UseSSLThis field sets whether SSL is enabled.
VisibilityFilters metadata for the user's permitted tables as a comma-separated list of queries. For example, to restrict visibility for SELECT and INSERT queries, specify 'SELECT,INSERT'. Permitted values: SELECT, INSERT, UPDATE, DELETE.
CData Cloud

AuthScheme

The type of authentication to use when connecting to Amazon Redshift.

Possible Values

Basic, ADFS, IAMCredentials, PingFederate, AzureAD

Data Type

string

Default Value

"Basic"

Remarks

  • Auto: Lets the driver decide automatically based on the other connection properties you have set.
  • Basic: Set this to use BASIC user / password authentication.
  • ADFS: Set this to perform Active Directory Federated Services authentication.
  • PingFederate: Set this to use the PingFederate SSO identity provider in order to perform authentication.
  • IAMCredentials: Set this to perform authentication with Redshift's GetClusterCredentials API.
  • AzureAD: Set this to use Azure Active Directory OAuth authentication.
  • AzureADPKCE: Set this to use native IdP federation with Microsoft Azure AD.

CData Cloud

Server

The host name or IP address of the Amazon Redshift cluster.

Data Type

string

Default Value

""

Remarks

The host name or IP of the Amazon Redshift cluster Database. You can obtain this value from the AWS Management Console:

  1. Open the Amazon Redshift console (http://console.aws.amazon.com/redshift).
  2. On the Clusters page, click the name of the cluster.
  3. On the Configuration tab for the cluster, copy the cluster URL from the connection strings displayed.

CData Cloud

Port

The port number of the Amazon Redshift server.

Data Type

string

Default Value

"5439"

Remarks

The port number of the Server hosting the Amazon Redshift Database. If not specified the default port number 5439 is used.

CData Cloud

Database

The name of the Amazon Redshift database.

Data Type

string

Default Value

""

Remarks

The database to connect to when connecting to the Amazon Redshift Server. If the database is not provided, the user's default database will be used.

CData Cloud

User

Specifies the user ID of the authenticating Amazon Redshift user account.

Data Type

string

Default Value

""

Remarks

The authenticating server requires both User and Password to validate the user's identity.

CData Cloud

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.

CData Cloud

UseSSL

This field sets whether SSL is enabled.

Data Type

bool

Default Value

true

Remarks

This field sets whether the Cloud will attempt to negotiate TLS/SSL connections to the server. By default, the Cloud checks the server's certificate against the system's trusted certificate store. To specify another certificate, set SSLServerCert.

CData Cloud

Visibility

Filters metadata for the user's permitted tables as a comma-separated list of queries. For example, to restrict visibility for SELECT and INSERT queries, specify 'SELECT,INSERT'. Permitted values: SELECT, INSERT, UPDATE, DELETE.

Data Type

string

Default Value

""

Remarks

By default, visibility filtering is not applied. Filtering values are case insensitive.

CData Cloud

AWS Authentication

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


PropertyDescription
AWSAccessKeyYour AWS account access key or the access key for an authorized IAM user.
AWSSecretKeyYour AWS account secret key or the secret key for an authorized IAM user.
AutoCreateSpecify true to create a database user with the name specified for User if one does not exist while connecting with IAM credentials. See AuthScheme .
DbGroupsA comma-delimited list of the names of one or more existing database groups the database user joins for the current session when connecting with IAM credentials. See AuthScheme .
AWSRoleARNThe Amazon Resource Name of the role to use when authenticating.
AWSPrincipalARNThe ARN of the SAML Identity provider in your AWS account.
AWSRegionThe hosting region for your Amazon Web Services.
AWSSessionTokenYour AWS session token.
CData Cloud

AWSAccessKey

Your AWS account access key or the access key for an authorized IAM user.

Data Type

string

Default Value

""

Remarks

To authorize Amazon Redshift requests, provide the credentials for an administrator account or for an IAM user with custom permissions. Set this property along with AWSSecretKey.

Note: Though you can connect as the AWS account administrator, it is recommended to use IAM user credentials to access AWS services.

Obtaining the Access Key

To obtain the credentials for an IAM user, follow the steps below:

  1. Sign into the IAM console.
  2. In the navigation pane, select Users.
  3. To create or manage the access keys for a user, select the user and then select the Security Credentials tab.

To obtain the credentials for your AWS root account, follow the steps below:

  1. Sign into the AWS Management console with the credentials for your root account.
  2. Select your account name or number and select My Security Credentials in the menu that is displayed.
  3. Click Continue to Security Credentials and expand the Access Keys section to manage or create root account access keys.

CData Cloud

AWSSecretKey

Your AWS account secret key or the secret key for an authorized IAM user.

Data Type

string

Default Value

""

Remarks

Your AWS account secret key or the secret key for an authorized IAM user. See AWSAccessKey to obtain the secret key and access key.

CData Cloud

AutoCreate

Specify true to create a database user with the name specified for User if one does not exist while connecting with IAM credentials. See AuthScheme .

Data Type

bool

Default Value

false

Remarks

The default is false.

CData Cloud

DbGroups

A comma-delimited list of the names of one or more existing database groups the database user joins for the current session when connecting with IAM credentials. See AuthScheme .

Data Type

string

Default Value

""

Remarks

The group names must match the dbgroup resources ARNs specified in the IAM policy attached to the IAM user or role.

By default, the new user is added only to PUBLIC.

CData Cloud

AWSRoleARN

The Amazon Resource Name of the role to use when authenticating.

Data Type

string

Default Value

""

Remarks

When authenticating outside of AWS, it is common to use a Role for authentication instead of your direct AWS account credentials. Entering the AWSRoleARN will cause the CData Cloud to perform a role based authentication instead of using the AWSAccessKey and AWSSecretKey directly. The AWSAccessKey and AWSSecretKey must still be specified to perform this authentication. You cannot use the credentials of an AWS root user when setting RoleARN. The AWSAccessKey and AWSSecretKey must be those of an IAM user.

CData Cloud

AWSPrincipalARN

The ARN of the SAML Identity provider in your AWS account.

Data Type

string

Default Value

""

Remarks

The ARN of the SAML Identity provider in your AWS account.

CData Cloud

AWSRegion

The hosting region for your Amazon Web Services.

Possible Values

OHIO, NORTHERNVIRGINIA, NORTHERNCALIFORNIA, OREGON, CAPETOWN, HONGKONG, HYDERABAD, JAKARTA, MALAYSIA, MELBOURNE, MUMBAI, OSAKA, SEOUL, SINGAPORE, SYDNEY, TOKYO, CENTRAL, CALGARY, BEIJING, NINGXIA, FRANKFURT, IRELAND, LONDON, MILAN, PARIS, SPAIN, STOCKHOLM, ZURICH, TELAVIV, BAHRAIN, UAE, SAOPAULO, GOVCLOUDEAST, GOVCLOUDWEST, ISOLATEDUSEAST, ISOLATEDUSEASTB, ISOLATEDUSWEST, ISOLATEDEUWEST

Data Type

string

Default Value

"NORTHERNVIRGINIA"

Remarks

The hosting region for your Amazon Web Services. Available values are OHIO, NORTHERNVIRGINIA, NORTHERNCALIFORNIA, OREGON, CAPETOWN, HONGKONG, HYDERABAD, JAKARTA, MALAYSIA, MELBOURNE, MUMBAI, OSAKA, SEOUL, SINGAPORE, SYDNEY, TOKYO, CENTRAL, CALGARY, BEIJING, NINGXIA, FRANKFURT, IRELAND, LONDON, MILAN, PARIS, SPAIN, STOCKHOLM, ZURICH, TELAVIV, BAHRAIN, UAE, SAOPAULO, GOVCLOUDEAST, GOVCLOUDWEST, ISOLATEDUSEAST, ISOLATEDUSEASTB, ISOLATEDUSWEST, and ISOLATEDEUWEST.

CData Cloud

AWSSessionToken

Your AWS session token.

Data Type

string

Default Value

""

Remarks

Your AWS session token. This value can be retrieved in different ways. See this link for more info.

CData Cloud

Azure Authentication

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


PropertyDescription
AzureTenantIdentifies the Amazon Redshift tenant being used to access data, either by name (for example, contoso.omnicrosoft.com) or ID. (Conditional).
CData Cloud

AzureTenant

Identifies the Amazon Redshift tenant being used to access data, either by name (for example, contoso.omnicrosoft.com) or ID. (Conditional).

Data Type

string

Default Value

""

Remarks

A tenant is a digital representation of your organization, primarily associated with a domain (for example, microsoft.com). The tenant is managed through a Tenant ID (also known as the directory ID), which is specified whenever you assign users permissions to access or manage Azure resources.

To locate the directory ID in the Azure Portal, navigate to Azure Active Directory > Properties.

Specifying AzureTenant is required when AuthScheme = either AzureServicePrincipal or AzureServicePrincipalCert, or if AuthScheme = AzureAD and the user belongs to more than one tenant.

CData Cloud

SSO

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


PropertyDescription
SSOLoginURLThe identity provider's login URL.
SSOPropertiesAdditional properties required to connect to the identity provider, formatted as a semicolon-separated list.
SSOExchangeUrlThe URL used for consuming the SAML response and exchanging it for service specific credentials.
CData Cloud

SSOLoginURL

The identity provider's login URL.

Data Type

string

Default Value

""

Remarks

The identity provider's login URL.

CData Cloud

SSOProperties

Additional properties required to connect to the identity provider, formatted as a semicolon-separated list.

Data Type

string

Default Value

""

Remarks

Additional properties required to connect to the identity provider, formatted as a semicolon-separated list. This is used with the SSOLoginURL.

SSO configuration is discussed further in .

CData Cloud

SSOExchangeUrl

The URL used for consuming the SAML response and exchanging it for service specific credentials.

Data Type

string

Default Value

""

Remarks

The CData Cloud will use the URL specified here to consume a SAML response and exchange it for service specific credentials. The retrieved credentials are the final piece during the SSO connection that are used to communicate with Amazon Redshift.

CData Cloud

OAuth

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


PropertyDescription
OAuthClientIdSpecifies 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.
OAuthClientSecretSpecifies 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.
ScopeSpecifies the scope of the authenticating user's access to the application. Generally specified at the time the custom OAuth application is created (if necessary), so that the authenticating user can obtain the the level of access appropriate to their credentials.
CData Cloud

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.

Data Type

string

Default Value

""

Remarks

OAuthClientId is one of a handful of connection parameters that need to be set before users can authenticate via OAuth. For details, see Establishing a Connection.

CData Cloud

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.

Data Type

string

Default Value

""

Remarks

OAuthClientSecret is one of a handful of connection parameters that need to be set before users can authenticate via OAuth. For details, see Establishing a Connection.

CData Cloud

Scope

Specifies the scope of the authenticating user's access to the application. Generally specified at the time the custom OAuth application is created (if necessary), so that the authenticating user can obtain the the level of access appropriate to their credentials.

Data Type

string

Default Value

""

Remarks

Scopes are set to define what kind of access the authenticating user will have; for example, read, read and write, restricted access to sensitive information. System administrators can use scopes to selectively enable access by functionality or security clearance.

When InitiateOAuth is set to GETANDREFRESH, you must use this property if you want to change which scopes are requested. When InitiateOAuth is set to either REFRESH or OFF, you can use either this property or the Scope input to change which scopes are requested.

CData Cloud

SSL

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


PropertyDescription
SSLServerCertSpecifies the certificate to be accepted from the server when connecting using TLS/SSL.
CData Cloud

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.

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

CData Cloud

SSH

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


PropertyDescription
SSHAuthModeThe authentication method used when establishing an SSH Tunnel to the service.
SSHClientCertA certificate to be used for authenticating the SSHUser.
SSHClientCertPasswordThe password of the SSHClientCert key if it has one.
SSHClientCertSubjectThe subject of the SSH client certificate.
SSHClientCertTypeThe type of SSHClientCert private key.
SSHServerThe SSH server.
SSHPortThe SSH port.
SSHUserThe SSH user.
SSHPasswordThe SSH password.
SSHServerFingerprintThe SSH server fingerprint.
UseSSHWhether to tunnel the Amazon Redshift connection over SSH. Use SSH.
CData Cloud

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 Cloud uses the values of SSHUser and SSHPassword to authenticate the user.
  • Public_Key: The Cloud uses the values of SSHUser and SSHClientCert to authenticate the user. SSHClientCert must have a private key available for this authentication method to succeed.

CData Cloud

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 Cloud generates it from the private key. The Cloud 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 Cloud will select the first key in the store, but you can specify a specific key using SSHClientCertSubject.

CData Cloud

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.

CData Cloud

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, [email protected]". Common fields and their meanings are displayed 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.

CData Cloud

SSHClientCertType

The type of SSHClientCert private key.

Possible Values

PFXBLOB, JKSBLOB, PEMKEY_BLOB, PPKBLOB, XMLBLOB

Data Type

string

Default Value

"PEMKEY_BLOB"

Remarks

This property can take one of the following values:

TypesDescriptionAllowed Blob Values
MACHINE/USER Blob values are not supported.
JKSFILE/JKSBLOB base64-only
PFXFILE/PFXBLOBA PKCS12-format (.pfx) file. Must contain both a certificate and a private key.base64-only
PEMKEY_FILE/PEMKEY_BLOBA 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. Newlines may be replaced with spaces when providing the blob as text.
PPKFILE/PPKBLOBA PuTTY-format private key created using the puttygen tool.base64-only
XMLFILE/XMLBLOBAn XML key in the format generated by the .NET RSA class: RSA.ToXmlString(true).base64 or plain text.

CData Cloud

SSHServer

The SSH server.

Data Type

string

Default Value

""

Remarks

The SSH server.

CData Cloud

SSHPort

The SSH port.

Data Type

string

Default Value

"22"

Remarks

The SSH port.

CData Cloud

SSHUser

The SSH user.

Data Type

string

Default Value

""

Remarks

The SSH user.

CData Cloud

SSHPassword

The SSH password.

Data Type

string

Default Value

""

Remarks

The SSH password.

CData Cloud

SSHServerFingerprint

The SSH server fingerprint.

Data Type

string

Default Value

""

Remarks

The SSH server fingerprint.

CData Cloud

UseSSH

Whether to tunnel the Amazon Redshift connection over SSH. Use SSH.

Data Type

bool

Default Value

false

Remarks

By default the Cloud will attempt to connect directly to Amazon Redshift. When this option is enabled, the Cloud will instead establish an SSH connection with the SSHServer and tunnel the connection to Amazon Redshift through it.

CData Cloud

Logging

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


PropertyDescription
VerbositySpecifies the verbosity level of the log file, which controls the amount of detail logged. Supported values range from 1 to 5.
CData Cloud

Verbosity

Specifies the verbosity level of the log file, which controls the amount of detail logged. Supported values range from 1 to 5.

Data Type

string

Default Value

"1"

Remarks

This property defines the level of detail the Cloud includes in the log file. Higher verbosity levels increase the detail of the logged information, but may also result in larger log files and slower performance due to the additional data being captured.

The default verbosity level is 1, which is recommended for regular operation. Higher verbosity levels are primarily intended for debugging purposes. For more information on each level, refer to Logging.

When combined with the LogModules property, Verbosity can refine logging to specific categories of information.

CData Cloud

Schema

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


PropertyDescription
BrowsableSchemasOptional setting that restricts the schemas reported to a subset of all available schemas. For example, BrowsableSchemas=SchemaA,SchemaB,SchemaC .
IgnoredSchemasVisibility restriction filter which is used to hide the list of schemas by metadata quering. For example, 'information_schema, pg_catalog'. Schema names are case sensitive.
CData Cloud

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.

CData Cloud

IgnoredSchemas

Visibility restriction filter which is used to hide the list of schemas by metadata quering. For example, 'information_schema, pg_catalog'. Schema names are case sensitive.

Data Type

string

Default Value

""

Remarks

By default, restrictions are not applied. The property is inactive when BrowsableSchemas is specified.

CData Cloud

Miscellaneous

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


PropertyDescription
AllowPreparedStatementPrepare a query statement before its execution.
COPYConversionParametersSpecifies the coma separated list of parameter to use in the COPY command when InsertMode is S3Staging or S3StagingWithIAM. Supported parameters are: BLANKSASNULL DELIMITER EMPTYASNULL EXPLICIT_IDS NULL AS TRIMBLANKS TRUNCATECOLUMNS.
FetchResultSetMetadataThis field sets whether the provider retrieves metadata pertaining to the schema and table name for resultset columns returned by the server.
InsertModeSpecifies what method to use when inserting bulk data. By default DML mode is used.
IsServerlessThe provider cannot detect endpoint to connect, if you are using a custom domain names for connections. Set this property to True when you are connecting to the Amazon Redshift serverless instance, as well specify the property AWSRegion in this case.
LZ4CompressionWhen set the driver notifies the server to compress data packets with lz4 compression algorithm.
MaxRowsSpecifies the maximum rows returned for queries without aggregation or GROUP BY.
RedshiftToS3RoleARNThe Amazon Resource Name of the role to use when authenticating S3 with IAM role by the COPY command for the bulk inserts.
S3BucketSpecifies the name of AWS S3 bucket to upload bulk data for staging.
S3BucketFolderSpecifies the name of the folder in AWS S3 bucket to upload bulk data for staging. By default bulk data are staged in the root folder.
StripOutNullsWhen set the null characters are stripped out from character values in bulk operations.
TimeoutSpecifies 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.
TimeZoneSet time zone for the current session.
UseUIDForStagingUse this property in combination with InsertMode assigned with S3Staging or S3StagingWithIAM. By default the the driver creates staging files with names that prepend the targeted table's name, so the files are overwritten between sessions. When the property is set to True , the provider additionally attaches temporary unique identifiers to these names. It may be required if you use parallel jobs to insert rows into the same table. Thus, the staging files are not overwritten by the jobs. A caveat is that using this property adds to the number of staging files put onto S3 bucket, since the file names are not controlled by the driver between different sessions. In this case you may want to define an AWS S3 policy on the bucket to remove staging files that were stored in a bucket automatically.
CData Cloud

AllowPreparedStatement

Prepare a query statement before its execution.

Data Type

bool

Default Value

true

Remarks

If the AllowPreparedStatement property is set to false, statements are parsed each time they are executed. Setting this property to false can be useful if you are executing many different queries only once.

If you are executing the same query repeatedly, you will generally see better performance by leaving this property at the default, true. Preparing the query avoids recompiling the same query over and over. However, prepared statements also require the Cloud to keep the connection active and open while the statement is prepared.

CData Cloud

COPYConversionParameters

Specifies the coma separated list of parameter to use in the COPY command when InsertMode is S3Staging or S3StagingWithIAM. Supported parameters are: BLANKSASNULL DELIMITER EMPTYASNULL EXPLICIT_IDS NULL AS TRIMBLANKS TRUNCATECOLUMNS.

Data Type

string

Default Value

""

Remarks

All parameteres are optional. By default all but 'NULL AS' and 'DELIMITER' are inactive. Default 'DELIMITER' is comma char. See also UseUIDForStaging for more details about the value used as a null mark.

CData Cloud

FetchResultSetMetadata

This field sets whether the provider retrieves metadata pertaining to the schema and table name for resultset columns returned by the server.

Data Type

bool

Default Value

false

Remarks

By default, the Cloud will not request that the server provides detailed information about resultset columns like the table name or schema name. It requires issuing additional metadata queries via Cloud , and it may affect query performance essentially in some scenarios. Consider setting this property to True when you need such detailed descriptive information for the resultset columns.

CData Cloud

InsertMode

Specifies what method to use when inserting bulk data. By default DML mode is used.

Possible Values

DML, S3Staging, S3StagingWithIAM

Data Type

string

Default Value

"DML"

Remarks

When this is set to DML the Cloud uses Insert SQL statements to upload bulk data.

When this is set to S3Staging the Cloud uses the bulk upload API to upload data to the AWS S3 staging folder.

Bulk Insertion

InsertMode provides the following options for executing a bulk insert operation by the driver:

  1. DML: This is the default option for sending multiple INSERT statements to the server by the driver in bulk. In this case, the driver issues a multi-row INSERT statement with respective syntax supported by the server. See Use a multi-row insert in the Amazon Redshift documentation.
  2. S3Staging: This option involves two steps. Initially, multiple rows are streamed to the Amazon S3 bucket in CSV format. A staging CSV file is then created in the bucket. In the second step, Redshift's COPY FROM command copies the staged CSV file to a database. See COPY in the Amazon Redshift documentation for more information.

    The minimum set of policies required to connect AWS S3 by an IAM user, or a role assumed by it, are:

    • S3:ListBucket
    • S3:GetObject
    • S3:PutObject.

    Note that this mode uses your AWSAccessKey and AWSSecretKey in COPY commands that are sent to the server. This could present a security concern. If you want to hide sensitive information, use the S3StagingWithIAM mode instead.

  3. S3StagingWithIAM: This option is similar to S3Staging, but it uses an IAM role parameter for the COPY command.

    The AWSAccessKey and AWSSecretKey are still required to connect in this mode, but they are not be included in the COPY commands sent to Redshift.

NOTE:If you choose the S3Staging or S3StagingWithIAM insert mode, and if you set the UseUIDForStaging connection property to True, you may want to define an AWS S3 policy on the bucket to remove staging files that are automatically stored in the bucket.

See also:

  • AllowPreparedStatement
  • RedshiftToS3RoleARN

CData Cloud

IsServerless

The provider cannot detect endpoint to connect, if you are using a custom domain names for connections. Set this property to True when you are connecting to the Amazon Redshift serverless instance, as well specify the property AWSRegion in this case.

Data Type

bool

Default Value

false

Remarks

If set to True, the Cloud will connect to serverless instance of the Amazon Redshift. By default, the property is set to False, and the Cloud will try to detect endpoint to connect.

CData Cloud

LZ4Compression

When set the driver notifies the server to compress data packets with lz4 compression algorithm.

Data Type

bool

Default Value

false

Remarks

CData Cloud

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 Cloud 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.

CData Cloud

RedshiftToS3RoleARN

The Amazon Resource Name of the role to use when authenticating S3 with IAM role by the COPY command for the bulk inserts.

Data Type

string

Default Value

"default"

Remarks

By default, if this property is not set, the COPY command uses 'default' value for the IAM role.

CData Cloud

S3Bucket

Specifies the name of AWS S3 bucket to upload bulk data for staging.

Data Type

string

Default Value

""

Remarks

CData Cloud

S3BucketFolder

Specifies the name of the folder in AWS S3 bucket to upload bulk data for staging. By default bulk data are staged in the root folder.

Data Type

string

Default Value

""

Remarks

CData Cloud

StripOutNulls

When set the null characters are stripped out from character values in bulk operations.

Data Type

bool

Default Value

false

Remarks

CData Cloud

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.

Data Type

int

Default Value

10

Remarks

This property controls the maximum time, in seconds, that the Cloud waits for an operation to complete before canceling it. If the timeout period expires before the operation finishes, the Cloud cancels the operation and throws an exception.

The timeout applies to each individual communication with the server rather than the entire query or operation. For example, a query could continue running beyond 60 seconds if each paging call completes within the timeout limit.

Setting this property to 0 disables the timeout, allowing operations to run indefinitely until they succeed or fail due to other conditions such as server-side timeouts, network interruptions, or resource limits on the server. Use this property cautiously to avoid long-running operations that could degrade performance or result in unresponsive behavior.

CData Cloud

TimeZone

Set time zone for the current session.

Data Type

string

Default Value

""

Remarks

If the TimeZone property is not set, provider uses client system time zone. Setting this property can be useful when you need the server to convert time with time zone and timestamp with timezone values to specific time zone, which is different than client's system time zone.

CData Cloud

UseUIDForStaging

Use this property in combination with InsertMode assigned with S3Staging or S3StagingWithIAM. By default the the driver creates staging files with names that prepend the targeted table's name, so the files are overwritten between sessions. When the property is set to True , the provider additionally attaches temporary unique identifiers to these names. It may be required if you use parallel jobs to insert rows into the same table. Thus, the staging files are not overwritten by the jobs. A caveat is that using this property adds to the number of staging files put onto S3 bucket, since the file names are not controlled by the driver between different sessions. In this case you may want to define an AWS S3 policy on the bucket to remove staging files that were stored in a bucket automatically.

Data Type

bool

Default Value

false

Remarks

Copyright (c) 2025 CData Software, Inc. - All rights reserved.
Build 24.0.9175