Cloud

Build 25.0.9434
  • SQL Server
    • Getting Started
      • Establishing a Connection
      • SSL Configuration
      • Firewall and Proxy
    • Data Model
      • Data Type Mapping
      • Stored Procedures
    • Connection String Options
      • Authentication
        • AuthScheme
        • Server
        • Port
        • Database
        • User
        • Password
        • Domain
        • IntegratedSecurity
        • NTLMVersion
        • Encrypt
      • Bulk
        • BatchMode
      • Azure Authentication
        • AzureTenant
        • AzureEnvironment
      • OAuth
        • OAuthClientId
        • OAuthClientSecret
        • Scope
      • JWT OAuth
        • OAuthJWTCert
        • OAuthJWTCertType
        • OAuthJWTCertPassword
        • OAuthJWTCertSubject
      • SSL
        • SSLServerCert
      • SSH
        • SSHAuthMode
        • SSHClientCert
        • SSHClientCertPassword
        • SSHClientCertSubject
        • SSHClientCertType
        • SSHServer
        • SSHPort
        • SSHUser
        • SSHPassword
        • SSHServerFingerprint
        • UseSSH
      • Logging
        • Verbosity
      • Schema
        • BrowsableSchemas
      • Miscellaneous
        • ApplicationIntent
        • ApplicationName
        • IncludeSystemSchemas
        • MaxRows
        • Timeout
    • Third Party Copyrights

SQL Server - CData Cloud

Overview

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

CData Cloud allows you to standardize and configure connections to SQL Server as though it were any other OData endpoint or standard SQL Server.

Key Features

  • Full SQL Support: SQL Server 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 SQL Server in CData Cloud, as well as information on the available resources, and a reference to the available connection properties.

Connecting to SQL Server

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

Accessing Data from CData Cloud Services

Accessing data from SQL Server 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 SQL Server 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 SQL Server

You can use the CData Cloud - SQL Server to connect to any instance of Microsoft SQL Server, Azure SQL Server, or Azure Data Warehouse.

Microsoft SQL Server

Set the following connection properties to connect to SQL Server:

  • Server: The name of the server running SQL Server.
  • Database: The name of the SQL Server database.

Azure SQL Server or AZure Data Warehouse

Set the following connection properties to connect to Azure SQL Server or Azure Data Warehouse:

  • Server: The server running Azure. You can find this by logging into the Azure portal and navigating to SQL databases (or SQL data warehouses) > Select your database > Overview > Server name.
  • Database: The name of the database, as seen in the Azure portal on the SQL databases (or SQL warehouses) page.

Authenticating to SQL Server

The Cloud supports authenticating to SQL Server using SQL Server authentication, Windows Authentication, or Kerberos authentication.

Microsoft SQL Server

To authenticate to Microsoft SQL Server using your SQL Server user login credentials, set the following:

  • AuthScheme: Set this to Password.
  • User: The username provided for authentication with SQL Server.
  • Password: The password associated with the authenticating user.

Windows

To enable the Cloud to obtain login credentials automatically from the identity of the windows user running the process, set the following:

  • AuthScheme: Set this to NTLM.
  • IntegratedSecurity: Set this to true.

Kerberos

To authenticate to SQL Server with Kerberos, set AuthScheme to KERBEROS.

Authenticating to SQL Server via Kerberos requires you to define authentication properties and to choose how Kerberos should retrieve authentication tickets.

Retrieve Kerberos Tickets

Kerberos tickets are used to authenticate the requester's identity. The use of tickets instead of formal logins/passwords eliminates the need to store passwords locally or send them over a network. Users are reauthenticated (tickets are refreshed) whenever they log in at their local computer or enter kinit USER at the command prompt.

The Cloud provides three ways to retrieve the required Kerberos ticket, depending on whether or not the KRB5CCNAME and/or KerberosKeytabFile variables exist in your environment.

MIT Kerberos Credential Cache File

This option enables you to use the MIT Kerberos Ticket Manager or kinit command to get tickets. With this option there is no need to set the User or Password connection properties.

This option requires that KRB5CCNAME has been created in your system.

To enable ticket retrieval via MIT Kerberos Credential Cache Files:

  1. Ensure that the KRB5CCNAME variable is present in your environment.
  2. Set KRB5CCNAME to a path that points to your credential cache file. (For example, C:\krb_cache\krb5cc_0 or /tmp/krb5cc_0.) The credential cache file is created when you use the MIT Kerberos Ticket Manager to generate your ticket.
  3. To obtain a ticket:
    1. Open the MIT Kerberos Ticket Manager application.
    2. Click Get Ticket.
    3. Enter your principal name and password.
    4. Click OK.

    If the ticket is successfully obtained, the ticket information appears in Kerberos Ticket Manager and is stored in the credential cache file.

The Cloud uses the cache file to obtain the Kerberos ticket to connect to SQL Server.

Note: If you would prefer not to edit KRB5CCNAME, you can use the KerberosTicketCache property to set the file path manually. After this is set, the Cloud uses the specified cache file to obtain the Kerberos ticket to connect to SQL Server.

Keytab File

If your environment lacks the KRB5CCNAME environment variable, you can retrieve a Kerberos ticket using a Keytab File.

To use this method, set the User property to the desired username, and set the KerberosKeytabFile property to a file path pointing to the keytab file associated with the user.

User and Password

If your environment lacks the KRB5CCNAME environment variable and the KerberosKeytabFile property has not been set, you can retrieve a ticket using a user and password combination.

To use this method, set the User and Password properties to the user/password combination that you use to authenticate with SQL Server.

Enabling Cross-Realm Authentication

More complex Kerberos environments can require cross-realm authentication where multiple realms and KDC servers are used. For example, they might use one realm/KDC for user authentication, and another realm/KDC for obtaining the service ticket.

To enable this kind of cross-realm authentication, set the KerberosRealm and KerberosKDC properties to the values required for user authentication. Also, set the KerberosServiceRealm and KerberosServiceKDC properties to the values required to obtain the service ticket.

NTLM

You can authenticate with a username and password using the NTLM authentication mechanism.

To authenticate, set the following:

  • AuthScheme: NTLM
  • User: The name of the authenticating user.
  • Password: The password associated with the authenticating user.

Alternatively, you can use OAuth by setting AuthScheme to AzureAd, AzurePassword, or AzureMSI. All OAuth connections require setting the AzureTenant connection property to the Id of the tenant the SQL Server database is hosted on.

Entra ID (Azure AD)

Note: Microsoft has rebranded Azure AD as Entra ID. In topics that require the user to interact with the Entra ID Admin site, we use the same names Microsoft does. However, there are still CData connection properties whose names or values reference "Azure AD".

Microsoft Entra ID is a multi-tenant, cloud-based identity and access management platform. It supports OAuth-based authentication flows that enable the driver to access SQL Server endpoints securely.

Authentication to Entra ID via a web application always requires that you first create and register a custom OAuth application. This enables your application to define its own redirect URI, manage credential scope, and comply with organization-specific security policies.

For full instructions on how to create and register a custom OAuth application, see Creating a Custom Azure AD Application.

After setting AuthScheme to AzureAD, the steps to authenticate vary, depending on the environment. For details on how to connect from desktop applications, web-based workflows, or headless systems, see the following sections.

Azure Service Principal

Note: Microsoft has rebranded Azure AD as Entra ID. In topics that require the user to interact with the Entra ID Admin site, we use the same names Microsoft does. However, there are still CData connection properties whose names or values reference "Azure AD".

Service principals are security objects within a Microsoft Entra ID (Azure AD) application that define what that application can do within a specific tenant. Service principals are created in the Entra admin center, also accessible through the Azure portal. As part of the creation process we also specify whether the service principal will access Entra resources via a client secret or a certificate.

Depending on the service you are connecting to, a tenant administrator may need to enable Service Principal authentication or assign the Service Principal to the appropriate roles or security groups.

Instead of being tied to a particular user, service principal permissions are based on the roles assigned to them. These roles determine which resources the application can access and which operations it can perform.

When authenticating using a service principal, you must register an application with an Entra tenant, as described in Creating a Service Principal App in Entra ID (Azure AD).

This subsection describes properties you must set before you can connect. These vary, depending on whether you will authenticate via a client secret or a certificate.

Authentication with Client Secret

  • AuthScheme: AzureServicePrincipal.
  • AzureTenant: The Azure AD tenant to which you will connect.
  • OAuthClientId: The client ID in your application settings.
  • OAuthClientSecret: The client secret in your application settings.
  • InitiateOAuth: GETANDREFRESH. You can use InitiateOAuth to avoid repeating the OAuth exchange and manually setting the OAuthAccessToken.

Authentication with Certificate

  • AuthScheme: AzureServicePrincipalCert.
  • AzureTenant: The Azure AD tenant to which you will connect.
  • OAuthClientId: The client Id in your application settings.
  • OAuthJWTCert: The JWT Certificate store.
  • OAuthJWTCertType: The JWT Certificate store type.
  • InitiateOAuth: GETANDREFRESH. You can use InitiateOAuth to avoid repeating the OAuth exchange and manually setting the OAuthAccessToken.

Azure Password

To authenticate directly to Azure Active Directory using your Azure credentials, specify the following connection properties:

  • AuthScheme: AzurePassword.
  • User: The account for the authenticating Azure user.
  • Password: The authenticating Azure user's password.
  • AzureTenant: The Directory (tenant) ID of the custom Azure AD application used to authenticate to SQL Server on Azure. To find this, go to the custom application's Overview page.

Managed Service Identity (MSI)

If you are running SQL Server on an Azure VM and want to automatically obtain Managed Service Identity (MSI) credentials to connect, set AuthScheme to AzureMSI.

User-Managed Identities

To obtain a token for a managed identity, use the OAuthClientId property to specify the managed identity's client_id.

If your VM has multiple user-assigned managed identities, you must also specify OAuthClientId.

CData Cloud

SSL Configuration

Customizing the SSL Configuration

To enable TLS, set Encrypt to True.

With this configuration, 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 SQL Server 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

HTTP Proxies

To authenticate to an HTTP proxy, set the following:

  • ProxyServer: the hostname or IP address of the proxy server that you want to route HTTP traffic through.
  • ProxyPort: the TCP port that the proxy server is running on.
  • ProxyAuthScheme: the authentication method the Cloud uses when authenticating to the proxy server.
  • ProxyUser: the username of a user account registered with the proxy server.
  • ProxyPassword: the password associated with the ProxyUser.

Other Proxies

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 Model

In addition to modeling data directly from SQL Server, the CData Cloud also includes a few built in stored procedures designed for assisting with OAuth connections against Azure hosted SQL Server. The stored procedures are listed here.

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.

SQL Server CData Schema
bigint long
bigint identity long
binary binary
bit bool
char string
date date
datetime datetime
datetimeoffset datetime
datetime2 datetime
decimal decimal
decimal identity decimal
float float
geography binary
geometry binary
hierarchyid binary
image binary
int int
int identity int
money decimal
nchar string
ntext string
nvarchar string
numeric decimal
numeric identity decimal
real float
rowversion binary
smalldatetime datetime
smallint short
smallint identity short
smallmoney decimal
sql_variant binary
table string
text string
time time
timestamp binary
tinyint byte
tinyint identity byte
uniqueidentifier string
varbinary binary
varchar string
xml string

CData Cloud

Stored Procedures

Stored procedures are function-like interfaces that extend the functionality of the Cloud beyond simple SELECT/INSERT/UPDATE/DELETE operations with SQL Server.

Stored procedures accept a list of parameters, perform their intended function, and then return any relevant response data from SQL Server, along with an indication of whether the procedure succeeded or failed.

CData Cloud - SQL Server Stored Procedures

Name Description

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
AuthSchemeSpecifies the scheme used to authenticate the connection to SQL Server.
ServerSpecifies the name or network address of the SQL Server instance to connect to.
PortSpecifies the network port used to connect to the SQL Server instance.
DatabaseSpecifies the name of the SQL Server database to connect to.
UserSpecifies the authenticating user's user ID.
PasswordSpecifies the authenticating user's password.
DomainSpecifies the Windows domain used for NTLM authentication.
IntegratedSecuritySpecifies whether to use Windows Integrated Security instead of SQL Server authentication.
NTLMVersionSpecifies the version of the NTLM protocol to use for Windows authentication.
EncryptSpecifies whether to enable TLS/SSL encryption for the connection to SQL Server.

Bulk


PropertyDescription
BatchModeSpecifies the mode used for executing batch operations when inserting data into SQL Server.

Azure Authentication


PropertyDescription
AzureTenantIdentifies the SQL Server tenant being used to access data. Accepts either the tenant's domain name (for example, contoso.onmicrosoft.com ) or its directory (tenant) ID.
AzureEnvironmentSpecifies the Azure network environment to which you will connect. Must be the same network to which your Azure account was added.

OAuth


PropertyDescription
OAuthClientIdSpecifies 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.
OAuthClientSecretSpecifies the client secret assigned to your custom OAuth application. This confidential value is used to authenticate the application to the OAuth authorization server. (Custom OAuth applications only.).
ScopeSpecifies the scope of the authenticating user's access to the application, to ensure they get appropriate access to data. If a custom OAuth application is needed, this is generally specified at the time the application is created.

JWT OAuth


PropertyDescription
OAuthJWTCertSupplies the name of the client certificate's JWT Certificate store.
OAuthJWTCertTypeIdentifies the type of key store containing the JWT Certificate.
OAuthJWTCertPasswordProvides the password for the OAuth JWT certificate used to access a password-protected certificate store. If the certificate store does not require a password, leave this property blank.
OAuthJWTCertSubjectIdentifies the subject of the OAuth JWT certificate used to locate a matching certificate in the store. Supports partial matches and the wildcard '*' to select the first certificate.

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 SQL Server 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 .

Miscellaneous


PropertyDescription
ApplicationIntentSpecifies whether the application intends to access a read-only or read-write version of an availability group database.
ApplicationNameSpecifies the name of the client application connecting to SQL Server.
IncludeSystemSchemasSpecifies whether to include system schemas such as guest, sys, INFORMATION_SCHEMA, and schemas prefixed with db_ during schema discovery.
MaxRowsSpecifies the maximum number of rows returned for queries that do not include either aggregation or GROUP BY.
TimeoutSpecifies the number of seconds the provider waits before timing out an operation.
CData Cloud

Authentication

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


PropertyDescription
AuthSchemeSpecifies the scheme used to authenticate the connection to SQL Server.
ServerSpecifies the name or network address of the SQL Server instance to connect to.
PortSpecifies the network port used to connect to the SQL Server instance.
DatabaseSpecifies the name of the SQL Server database to connect to.
UserSpecifies the authenticating user's user ID.
PasswordSpecifies the authenticating user's password.
DomainSpecifies the Windows domain used for NTLM authentication.
IntegratedSecuritySpecifies whether to use Windows Integrated Security instead of SQL Server authentication.
NTLMVersionSpecifies the version of the NTLM protocol to use for Windows authentication.
EncryptSpecifies whether to enable TLS/SSL encryption for the connection to SQL Server.
CData Cloud

AuthScheme

Specifies the scheme used to authenticate the connection to SQL Server.

Possible Values

Password, AzurePassword, AzureAD, AzureServicePrincipal, AzureServicePrincipalCert, AKSWorkloadI

Data Type

string

Default Value

"Password"

Remarks

This property determines how the driver authenticates with SQL Server. It must be used in combination with the User and Password properties, except when using methods that rely on identity-based authentication, such as AzureMSI.

Authentication schemes control which credentials or tokens are expected and how they're validated by the server.

The following values are supported:

  • Password: Set this to use your SQL Server Password.
  • NTLM: Set this to use NTLM authentication.
  • Kerberos: Set this to use Kerberos authentication.
  • AzurePassword: Set this to use Azure Active Directory Password authentication.
  • AzureAD: Set this to use Azure Active Directory OAuth authentication.
  • AzureMSI: Set this to use Azure Active Directory Managed Service Identity authentication.
  • AzureServicePrincipal: Set this to authenticate as an Azure Service Principal.
  • AzureServicePrincipalCert: Set this to authenticate as an Azure Service Principal using a certificate.
  • AKSWorkloadI: Set this to use Workload Identity Federation authentication.

Additional Information

Some authentication schemes, such as AzureMSI or AzureServicePrincipalCert, may require additional properties (such as OAuthClientId and OAuthClientSecret). See individual property descriptions for details.

CData Cloud

Server

Specifies the name or network address of the SQL Server instance to connect to.

Data Type

string

Default Value

""

Remarks

This property identifies the location of the SQL Server you want to connect to. You can provide a hostname, IP address, or fully qualified domain name (FQDN). If connecting to a named instance, you can use the server\instance format. For example: sqlhost\sqlexpress.

If the server is hosted in the cloud or behind a load balancer, use the appropriate address or endpoint provided by your database administrator or hosting provider.

If connecting to a local instance, you can use localhost, 127.0.0.1, or . (dot). If you're unsure of the server name, you can find it in SQL Server Management Studio under the Connect to Server dialog.

CData Cloud

Port

Specifies the network port used to connect to the SQL Server instance.

Data Type

string

Default Value

"1433"

Remarks

This property identifies the TCP port that the SQL Server instance is listening on. The default SQL Server port is 1433, which is used in most standard installations.

If your SQL Server is configured to use a non-default port (for example, in a custom or cloud-hosted setup), you must set this property to the appropriate value. The Port must match the configuration of the Server and Database properties to successfully establish a connection.

Note: If the server is configured for dynamic ports, you may need to obtain the correct port number from your database administrator or SQL Server Configuration Manager.

CData Cloud

Database

Specifies the name of the SQL Server database to connect to.

Data Type

string

Default Value

""

Remarks

This property defines the specific SQL Server database the Cloud should connect to on the target server. SQL Server instances can host multiple databases, and specifying the correct one is required to access the intended data.

The database must exist on the SQL Server instance specified in the Server property. If this property is not set, the connection may fail or default to a system database such as master, depending on server settings and permissions.

This property is useful for targeting the appropriate database in multi-database environments.

Use myDatabaseName in your connection string to connect to a specific database.

Note: Make sure the user credentials supplied have the appropriate permissions to access the specified database.

CData Cloud

User

Specifies the authenticating user's user ID.

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 authenticating user's password.

Data Type

string

Default Value

""

Remarks

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

CData Cloud

Domain

Specifies the Windows domain used for NTLM authentication.

Data Type

string

Default Value

""

Remarks

This property is used when authenticating to SQL Server with NTLM (Windows) authentication. It specifies the domain name associated with the user account.

In NTLM authentication, a domain is a logical grouping of computers and user accounts managed under the same Windows security policies. This property helps the provider validate credentials in the correct domain context.

This property is useful when connecting to a SQL Server instance that requires Windows domain credentials.

If left blank, the Cloud may attempt to authenticate using the local machine domain.

Note: This property is only applicable when AuthScheme is set to NTLM. It is not used with other authentication methods such as Password, Kerberos, or AzureAD.

CData Cloud

IntegratedSecurity

Specifies whether to use Windows Integrated Security instead of SQL Server authentication.

Data Type

bool

Default Value

false

Remarks

When this property is set to true, the Cloud uses the current Windows user identity to authenticate with SQL Server. This is commonly referred to as Windows authentication and is typically used in domain environments or when SQL Server is configured for integrated logins.

When set to false, the Cloud uses SQL Server authentication, which requires explicit User and Password values in the connection.

This property is only applicable when AuthScheme is set to NTLM.

This property is useful in corporate or on-premises environments where SQL Server is configured for domain-based authentication and user credentials are managed through Active Directory.

Set this property to true to avoid passing explicit credentials and rely on the Windows account context of the running application.

Note: Ensure your SQL Server instance is configured to support Windows authentication when using this property.

CData Cloud

NTLMVersion

Specifies the version of the NTLM protocol to use for Windows authentication.

Possible Values

1, 2

Data Type

string

Default Value

"1"

Remarks

This property determines which version of the NTLM (NT LAN Manager) protocol is used when AuthScheme is set to NTLM. NTLM is a Microsoft authentication protocol commonly used for domain-based and Windows Integrated Security scenarios.

Accepted values:

  • 1: Uses NTLMv1, which is an older version and less secure.
  • 2: Uses NTLMv2 which is more secure and recommended when supported.

NTLMv2 offers stronger encryption and improved security features. However, some legacy systems may only support NTLMv1.

This property is useful when connecting to environments with specific security requirements or compatibility constraints.

Set NTLMVersion=2 to enable more secure authentication, unless you're working with a system that explicitly requires NTLMv1.

This property is only applicable when AuthScheme is set to NTLM. Ensure the SQL Server and network infrastructure support the selected version of NTLM.

CData Cloud

Encrypt

Specifies whether to enable TLS/SSL encryption for the connection to SQL Server.

Possible Values

True, False, Strict

Data Type

string

Default Value

"True"

Remarks

This property controls whether the provider uses TLS/SSL encryption when establishing a connection with SQL Server. Encryption protects data in transit and helps meet compliance or security requirements.

Accepted values:

  • False: Disables TLS/SSL encryption.
  • True: Enables TLS/SSL encryption. The Cloud attempts to verify the server's certificate using the system's trusted certificate store.
  • Strict: Enables TLS/SSL encryption and enforces stricter security standards. This mode requires that the server's certificate be fully validated and uses stronger protocols that are more compatible with modern network appliances and security policies.

If encryption is enabled and you need to specify a custom trusted certificate, use the SSLServerCert property.

This property is useful for securing database traffic between the client and SQL Server.

CData Cloud

Bulk

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


PropertyDescription
BatchModeSpecifies the mode used for executing batch operations when inserting data into SQL Server.
CData Cloud

BatchMode

Specifies the mode used for executing batch operations when inserting data into SQL Server.

Possible Values

BCP, STANDARD

Data Type

string

Default Value

"STANDARD"

Remarks

This property controls how the Cloud performs bulk inserts into SQL Server.

It supports two modes:

  • STANDARD: Uses standard SQL INSERT, UPDATE, and DELETE statements for batch operations. This mode provides broad compatibility and supports full SQL functionality.
  • BCP: Uses SQL Server’s native BulkCopy (BCP) protocol to transfer data directly through a lower-level TCP connection. This method supports only INSERT operations and can offer improved performance for large data loads.

The BCP mode is limited to inserting data and does not support updates or deletes. Additionally, some environments may have firewall or network rules that restrict the lower-level communication BCP requires.

This property is useful for controlling the performance and behavior of bulk data operations. Use BCP when performance is critical and only insert operations are needed. Use STANDARD for broader SQL support, including updates and deletes.

Additional Information

BCP mode may require additional server configuration to allow TCP-level bulk transfers. Ensure that firewall settings and SQL Server permissions support BCP access if you choose this mode.

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 SQL Server tenant being used to access data. Accepts either the tenant's domain name (for example, contoso.onmicrosoft.com ) or its directory (tenant) ID.
AzureEnvironmentSpecifies the Azure network environment to which you will connect. Must be the same network to which your Azure account was added.
CData Cloud

AzureTenant

Identifies the SQL Server 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 Azure AD). Each tenant is associated with a unique directory ID, and often with a custom domain (for example, microsoft.com or contoso.onmicrosoft.com).

To find the directory (tenant) ID in the Microsoft Entra Admin Center, navigate to Microsoft Entra ID > Properties and copy the value labeled "Directory (tenant) ID".

This property is required in the following cases:

  • When AuthScheme is set to AzureServicePrincipal or AzureServicePrincipalCert
  • When AuthScheme is AzureAD and 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.

CData Cloud

AzureEnvironment

Specifies the Azure network environment to which you will connect. Must be the same network to which your Azure account was added.

Possible Values

GLOBAL, CHINA, USGOVT, USGOVTDOD

Data Type

string

Default Value

"GLOBAL"

Remarks

Required if your Azure account is part of a different network than the Global network, such as China, USGOVT, or USGOVTDOD.

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 (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.
OAuthClientSecretSpecifies the client secret assigned to your custom OAuth application. This confidential value is used to authenticate the application to the OAuth authorization server. (Custom OAuth applications only.).
ScopeSpecifies the scope of the authenticating user's access to the application, to ensure they get appropriate access to data. If a custom OAuth application is needed, this is generally specified at the time the application is created.
CData Cloud

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 in two cases:

  • When using a custom OAuth application, such as in web-based authentication flows, service-based authentication, or certificate-based flows that require application registration.
  • If the driver does not provide embedded OAuth credentials.

(When the driver provides embedded OAuth credentials, this value may already be provided by the Cloud and thus not require manual entry.)

OAuthClientId 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 usually 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.

For more information on how this property is used when configuring a connection, see Establishing a Connection.

CData Cloud

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. (Custom OAuth applications only.).

Data Type

string

Default Value

""

Remarks

This property (sometimes called the application secret or consumer secret) 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 fails with either an invalid_client or an 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.

Notes:

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

For more information on how this property is used when configuring a connection, see Establishing a Connection

CData Cloud

Scope

Specifies the scope of the authenticating user's access to the application, to ensure they get appropriate access to data. If a custom OAuth application is needed, this is generally specified at the time the application is created.

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 change which scopes are requested using either this property or the Scope input.

CData Cloud

JWT OAuth

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


PropertyDescription
OAuthJWTCertSupplies the name of the client certificate's JWT Certificate store.
OAuthJWTCertTypeIdentifies the type of key store containing the JWT Certificate.
OAuthJWTCertPasswordProvides the password for the OAuth JWT certificate used to access a password-protected certificate store. If the certificate store does not require a password, leave this property blank.
OAuthJWTCertSubjectIdentifies the subject of the OAuth JWT certificate used to locate a matching certificate in the store. Supports partial matches and the wildcard '*' to select the first certificate.
CData Cloud

OAuthJWTCert

Supplies the name of the client certificate's JWT Certificate store.

Data Type

string

Default Value

""

Remarks

The OAuthJWTCertType field specifies the type of the certificate store specified in OAuthJWTCert. If the store is password-protected, use OAuthJWTCertPassword to supply the password..

OAuthJWTCert is used in conjunction with the OAuthJWTCertSubject field in order to specify client certificates. If OAuthJWTCert has a value, and OAuthJWTCertSubject is set, the CData Cloud initiates a search for a certificate. For further information, see OAuthJWTCertSubject.

Designations of certificate stores are platform-dependent.

Notes

  • The most common User and Machine certificate stores in Windows include:
    • MY: A certificate store holding personal certificates with their associated private keys.
    • CA: Certifying authority certificates.
    • ROOT: Root certificates.
    • SPC: Software publisher certificates.
  • In Java, the certificate store normally is a file containing certificates and optional private keys.
  • When the certificate store type is PFXFile, this property must be set to the name of the file.
  • When the type is PFXBlob, the property must be set to the binary contents of a PFX file (i.e. PKCS12 certificate store).

CData Cloud

OAuthJWTCertType

Identifies the type of key store containing the JWT Certificate.

Possible Values

PFXBLOB, JKSBLOB, PEMKEY_BLOB, PUBLIC_KEY_BLOB, SSHPUBLIC_KEY_BLOB, XMLBLOB, BCFKSBLOB

Data Type

string

Default Value

"PEMKEY_BLOB"

Remarks

ValueDescriptionNotes
USERA certificate store owned by the current user. Only available in Windows.
MACHINEA machine store.Not available in Java or other non-Windows environments.
PFXFILEA PFX (PKCS12) file containing certificates.
PFXBLOBA string (base-64-encoded) representing a certificate store in PFX (PKCS12) format.
JKSFILEA Java key store (JKS) file containing certificates.Only available in Java.
JKSBLOBA string (base-64-encoded) representing a certificate store in Java key store (JKS) format. Only available in Java.
PEMKEY_FILEA PEM-encoded file that contains a private key and an optional certificate.
PEMKEY_BLOBA string (base64-encoded) that contains a private key and an optional certificate.
PUBLIC_KEY_FILEA file that contains a PEM- or DER-encoded public key certificate.
PUBLIC_KEY_BLOBA string (base-64-encoded) that contains a PEM- or DER-encoded public key certificate.
SSHPUBLIC_KEY_FILEA file that contains an SSH-style public key.
SSHPUBLIC_KEY_BLOBA string (base-64-encoded) that contains an SSH-style public key.
P7BFILEA PKCS7 file containing certificates.
PPKFILEA file that contains a PPK (PuTTY Private Key).
XMLFILEA file that contains a certificate in XML format.
XMLBLOBAstring that contains a certificate in XML format.
BCFKSFILEA file that contains an Bouncy Castle keystore.
BCFKSBLOBA string (base-64-encoded) that contains a Bouncy Castle keystore.

CData Cloud

OAuthJWTCertPassword

Provides the password for the OAuth JWT certificate used to access a password-protected certificate store. If the certificate store does not require a password, leave this property blank.

Data Type

string

Default Value

""

Remarks

This property specifies the password needed to open a password-protected certificate store. To determine if a password is necessary, refer to the documentation or configuration for your specific certificate store.

CData Cloud

OAuthJWTCertSubject

Identifies the subject of the OAuth JWT certificate used to locate a matching certificate in the store. Supports partial matches and the wildcard '*' to select the first certificate.

Data Type

string

Default Value

"*"

Remarks

The value of this property is used to locate a matching certificate in the store. The search process works as follows:

  • If an exact match for the subject is found, the corresponding certificate is selected.
  • If no exact match is found, the store is searched for certificates whose subjects contain the property value.
  • If no match is found, no certificate is selected.

You can set the value to '*' to automatically select the first certificate in the store. The certificate subject is a comma-separated list of distinguished name fields and values. For example: CN=www.server.com, OU=test, C=US, [email protected].

Common fields include:

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, enclose it in quotes. For example: "O=ACME, Inc.".

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 you are using a TLS/SSL connection, use this property to specify the TLS/SSL certificate to be accepted from the server. If you specify a value for this property, all other certificates that are not trusted by the machine are 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

Note: It is possible to use '*' to signify that all certificates should be accepted, but due to security concerns this is not recommended.

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 SQL Server 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.
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 SQL Server connection over SSH. Use SSH.

Data Type

bool

Default Value

false

Remarks

By default the Cloud will attempt to connect directly to SQL Server. When this option is enabled, the Cloud will instead establish an SSH connection with the SSHServer and tunnel the connection to SQL Server 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 .
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

Miscellaneous

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


PropertyDescription
ApplicationIntentSpecifies whether the application intends to access a read-only or read-write version of an availability group database.
ApplicationNameSpecifies the name of the client application connecting to SQL Server.
IncludeSystemSchemasSpecifies whether to include system schemas such as guest, sys, INFORMATION_SCHEMA, and schemas prefixed with db_ during schema discovery.
MaxRowsSpecifies the maximum number of rows returned for queries that do not include either aggregation or GROUP BY.
TimeoutSpecifies the number of seconds the provider waits before timing out an operation.
CData Cloud

ApplicationIntent

Specifies whether the application intends to access a read-only or read-write version of an availability group database.

Data Type

string

Default Value

"ReadWrite"

Remarks

This property is used in high-availability SQL Server environments that use availability groups, a feature that maintains multiple copies of a database across different servers.

In an availability group:

  • The primary replica is the main server where all changes (read and write operations) are made.
  • Secondary replicas are read-only copies that stay synchronized with the primary.

When ApplicationIntent is set to ReadOnly, the SQL Server listener may route the connection to a read-only secondary replica, if one is available. This can reduce load on the primary server by handling queries that don’t need to update data. If the property is set to ReadWrite, the connection is directed to the primary replica.

This property is useful for improving performance and scalability in environments with high read traffic, especially when availability groups with read-only replicas are configured.

  • Use ReadOnly to offload reporting and analytics queries to a secondary replica.
  • Use ReadWrite (or omit the property) to connect directly to the primary replica for full read/write access.

Additional Information

If the availability group is not configured for read-only routing, setting this property to ReadOnly may result in a failed connection. Always check with your database administrator or deployment configuration.

CData Cloud

ApplicationName

Specifies the name of the client application connecting to SQL Server.

Data Type

string

Default Value

""

Remarks

This property sets the application name that is sent to the server as part of the connection metadata. On SQL Server, this value is typically visible in monitoring or logging tools and can be helpful for identifying, auditing, or troubleshooting specific application connections.

While this value is not strictly required for the connection, setting a unique application name is a good practice when multiple apps or services access the same database.

This property is useful for environments where SQL Server administrators monitor or analyze incoming connections, as it helps distinguish one application from another.

Additional Information

This value is also used as the User-Agent when HTTP-based communication is involved, such as through web proxies or gateways that inspect headers.

CData Cloud

IncludeSystemSchemas

Specifies whether to include system schemas such as guest, sys, INFORMATION_SCHEMA, and schemas prefixed with db_ during schema discovery.

Data Type

bool

Default Value

true

Remarks

When enabled, this property instructs the Cloud to query and expose system-defined schemas alongside user-defined schemas. System schemas typically contain metadata, built-in views, and internal database objects.

These schemas include:

  • sys: Contains internal views and catalog information.
  • INFORMATION_SCHEMA: Provides standard views for metadata queries.
  • guest: Represents access for unauthenticated users.
  • Schemas with names starting with db_. For example: db_owner and db_datareader.

Disabling this property can simplify the schema view by omitting internal structures that are not relevant for most data access scenarios.

This property is useful for controlling the visibility of internal SQL Server objects in environments where users only need to work with application data. Set this property to false to streamline metadata discovery or restrict what appears in tools like data explorers or schema browsers.

CData Cloud

MaxRows

Specifies the maximum number of rows returned for queries that do not include either aggregation or GROUP BY.

Data Type

int

Default Value

-1

Remarks

The default value for this property, -1, means that no row limit is enforced unless the query explicitly includes a LIMIT clause. (When a query includes a LIMIT clause, the value specified in the query takes precedence over the MaxRows setting.)

Setting MaxRows to a whole number greater than 0 ensures that queries do not return excessively large result sets by default.

This property is useful for optimizing performance and preventing excessive resource consumption when executing queries that could otherwise return very large datasets.

CData Cloud

Timeout

Specifies the number of seconds the provider waits before timing out an operation.

Data Type

int

Default Value

30

Remarks

This property defines the maximum amount of time, in seconds, that the Cloud waits for a command to complete before raising a timeout error.

If Timeout is set to 0, operations do not time out. They continue running until they succeed or fail due to another error.

If Timeout is set to a positive integer, the Cloud cancels the operation and raises an error if it exceeds the specified duration.

Timeout applies to various operations such as executing queries, establishing connections, or reading data streams.

This property is useful for controlling long-running operations or setting safe execution limits in applications that require predictable behavior.

Note: Timeout behavior may vary depending on the command type like query or stored procedure, and network conditions. Always consider the typical response time of your database operations when configuring this value.

CData Cloud

Third Party Copyrights

LZMA from 7Zip LZMA SDK

LZMA SDK is placed in the public domain.

Anyone is free to copy, modify, publish, use, compile, sell, or distribute the original LZMA SDK code, either in source code form or as a compiled binary, for any purpose, commercial or non-commercial, and by any means.

LZMA2 from XZ SDK

Version 1.9 and older are in the public domain.

Xamarin.Forms

Xamarin SDK

The MIT License (MIT)

Copyright (c) .NET Foundation Contributors

All rights reserved.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

NSIS 3.10

Copyright (C) 1999-2025 Contributors THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.

1. DEFINITIONS

"Contribution" means:

a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and b) in the case of each subsequent Contributor:

i) changes to the Program, and

ii) additions to the Program;

where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.

"Contributor" means any person or entity that distributes the Program.

"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.

"Program" means the Contributions distributed in accordance with this Agreement.

"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.

2. GRANT OF RIGHTS

a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.

b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder.

c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.

d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement.

3. REQUIREMENTS

A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:

a) it complies with the terms and conditions of this Agreement; and

b) its license agreement:

i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose;

ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits;

iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and

iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.

When the Program is made available in source code form:

a) it must be made available under this Agreement; and

b) a copy of this Agreement must be included with each copy of the Program.

Contributors may not remove or alter any copyright notices contained within the Program.

Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.

4. COMMERCIAL DISTRIBUTION

Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense.

For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.

5. NO WARRANTY

EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations.

6. DISCLAIMER OF LIABILITY

EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

7. GENERAL

If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.

If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed. In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed.

All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.

Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward. IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved.

This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation.

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