DataStax ODBC driver for Apache
Cassandra and DataStax Enterprise
with CQL connector
Install Guide
DataStax
Version 2.5.7
June 1, 2018
Copyright © 2018 Simba Technologies Inc. All Rights Reserved.
Information in this document is subject to change without notice. Companies, names
and data used in examples herein are fictitious unless otherwise noted. No part of this
publication, or the software it describes, may be reproduced, transmitted, transcribed,
stored in a retrieval system, decompiled, disassembled, reverse-engineered, or
translated into any language in any form by any means for any purpose without the
express written permission of Simba Technologies Inc.
Trademarks
Simba, the Simba logo, SimbaEngine, and Simba Technologies are registered
trademarks of Simba Technologies Inc. in Canada, United States and/or other
countries. All other trademarks and/or servicemarks are the property of their respective
owners.
Contact Us
Simba Technologies Inc.
938 West 8th Avenue
Vancouver, BC Canada
V5Z 1E5
Tel: +1 (604) 633-0008
Fax: +1 (604) 633-0004
www.simba.com
For information about contacting DataStax, go to
http://www.datastax.com/company#contact
www.datastax.com
2
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
About This Guide
Purpose
The DataStax ODBC driver for Apache Cassandra and DataStax Enterprise with CQL
connector Install Guide explains how to install and configure the DataStax ODBC
driver for Apache Cassandra and DataStax Enterprise with CQL connector. The guide
also provides details related to features of the driver.
Audience
The guide is intended for end users of the DataStax ODBC driver for Apache
Cassandra and DataStax Enterprise with CQL connector, as well as administrators
and developers integrating the driver.
Knowledge Prerequisites
To use the DataStax ODBC driver for Apache Cassandra and DataStax Enterprise
with CQL connector, the following knowledge is helpful:
l Familiarity with the platform on which you are using the DataStax ODBC driver
for Apache Cassandra and DataStax Enterprise with CQL connector
l Ability to use the data source to which the DataStax ODBC driver for Apache
Cassandra and DataStax Enterprise with CQL connector is connecting
l An understanding of the role of ODBCtechnologies and driver managers in
connecting to a data source
l Experience creating and configuring ODBCconnections
l Exposure to SQL
Document Conventions
Italics are used when referring to book and document titles.
Bold is used in procedures for graphical user interface elements that a user clicks and
text that a user types.
Monospace font indicates commands, source code, or contents of text files.
Note:
A text box with a pencil icon indicates a short note appended to a paragraph.
www.datastax.com
3
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
Important:
A text box with an exclamation mark indicates an important comment related to the
preceding paragraph.
www.datastax.com
4
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
Table of Contents
About the DataStax ODBC driver for Apache Cassandra and DataStax Enterprise with
CQL connector 7
Windows Driver 8
Windows System Requirements 8
Installing the Driver on Windows 8
Creating a Data Source Name on Windows 9
Configuring Authentication on Windows 11
Configuring Advanced Options on Windows 11
Configuring SSL Verification on Windows 13
Configuring Logging Options on Windows 15
Verifying the Driver Version Number on Windows 17
Linux Driver 18
Linux System Requirements 18
Installing the Driver Using the RPM File 18
Configuring the ODBCDriver Manager on Linux 19
Configuring ODBC Connections on Linux 21
Verifying the Driver Version Number on Linux 31
Using a Connection String 32
DSN Connection String Example 32
DSN-lessConnection String Examples 32
Features 34
CQL Connector 34
Data Types 34
User-Defined Types 36
Virtual Tables 37
Write-Back 39
Query Modes 40
Catalog and Schema Support 40
Security and Authentication 40
Driver Configuration Options 42
Configuration Options Appearing in the User Interface 42
Configuration Options Having Only Key Names 57
www.datastax.com
5
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
Contact Us 66
Third-Party Trademarks 67
Third-Party Licenses 68
www.datastax.com
6
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
About the DataStax ODBC driver for Apache
Cassandra and DataStax Enterprise with CQL
connector
The DataStax ODBC driver for Apache Cassandra and DataStax Enterprise with CQL
connector enables Business Intelligence (BI), analytics, and reporting on data that is
stored in Apache Cassandra databases. The driver complies with the ODBC 3.80 data
standard and adds important functionality such as Unicode, as well as 32- and 64-bit
support for high-performance computing environments on all platforms.
ODBC is one of the most established and widely supported APIs for connecting to and
working with databases. At the heart of the technology is the ODBC driver, which
connects an application to the database. For more information about ODBC, see Data
Access Standards on the Simba Technologies
website:https://www.simba.com/resources/data-access-standards-glossary. For
complete information about the ODBC specification, see the ODBC API Reference
from the Microsoft documentation: https://docs.microsoft.com/en-
us/sql/odbc/reference/syntax/odbc-api-reference.
The DataStax ODBC driver for Apache Cassandra and DataStax Enterprise with CQL
connector is available for Microsoft® Window and Linux platforms.
The Install Guide is suitable for users who are looking to access data residing within
Cassandra from their desktop environment. Application developers might also find the
information helpful. Refer to your application for details on connecting via ODBC.
www.datastax.com
7
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
Windows Driver
Windows System Requirements
The DataStax ODBC driver for Apache Cassandra and DataStax Enterprise with CQL
connector supports Apache Cassandra versions 2.0.0 through 3.x.
Install the driver on client machines where the application is installed. Each machine
that you install the driver on must meet the following minimum system requirements:
l One of the following operating systems:
l Windows 10, 8.1, or 7 SP1
l Windows Server 2016, 2012, or 2008 R2 SP1
l 150 MB of available disk space
l Visual C++ Redistributable for Visual Studio 2013 installed (with the same
bitness as the driver that you are installing).
You can download the installation packages at https://www.microsoft.com/en-
ca/download/details.aspx?id=40784.
To install the driver, you must have administrator privileges on the machine.
Installing the Driver on Windows
On 64-bit Windows operating systems, you can execute both 32- and 64-bit
applications. However, 64-bit applications must use 64-bit drivers, and 32-bit
applications must use 32-bit drivers. Make sure that you use the version of the driver
that matches the bitness of the client application:
l DataStax Cassandra 2.5 32-bit.msi for 32-bit applications
l DataStax Cassandra 2.5 64-bit.msi for 64-bit applications
You can install both versions of the driver on the same machine.
To install the DataStax ODBC driver for Apache Cassandra and DataStax
Enterprise with CQL connector on Windows:
1. Depending on the bitness of your client application, double-click to run DataStax
Cassandra 2.5 32-bit.msi or DataStax Cassandra 2.5 64-bit.msi.
2. Click Next.
3. Select the check box to accept the terms of the License Agreement if you agree,
and then click Next.
www.datastax.com
8
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
4. To change the installation location, click Change, then browse to the desired
folder, and then click OK. To accept the installation location, click Next.
5. Click Install.
6. When the installation completes, click Finish.
Creating a Data Source Name on Windows
Typically, after installing the DataStax ODBC driver for Apache Cassandra and
DataStax Enterprise with CQL connector, you need to create a Data Source Name
(DSN).
Alternatively, for information about DSN-less connections, see Using a Connection
String on page 32.
To create a Data Source Name on Windows:
1. Open the ODBC Administrator:
l
If you are using Windows 7 or earlier, click Start >All Programs
>DataStax Cassandra ODBC Driver 2.5 > ODBCAdministrator.
l Or, if you are using Windows 8 or later, on the Start screen, type ODBC
administrator, and then click the ODBC Administrator search result.
Note:
Make sure to select the ODBCData Source Administrator that has the same
bitness as the client application that you are using to connect to Cassandra.
2. In the ODBC Data Source Administrator, click the Drivers tab, and then scroll
down as needed to confirm that the DataStax Cassandra ODBC Driver appears
in the alphabetical list of ODBC drivers that are installed on your system.
3. Choose one:
l To create a DSN that only the user currently logged into Windows can use,
click the User DSN tab.
l Or, to create a DSN that all users who log into Windows can use, click the
System DSN tab.
Note:
It is recommended that you create a System DSN instead of a User DSN.
Some applications load the data using a different user account, and might
not be able to detect User DSNs that are created under another user
account.
4. Click Add.
www.datastax.com
9
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
5. In the Create New Data Source dialog box, select DataStax Cassandra ODBC
Driver and then click Finish. The DataStax Cassandra ODBC Driver DSN Setup
dialog box opens.
6. In the Data Source Name field, type a name for your DSN.
7. Optionally, in the Description field, type relevant details about the DSN.
8. Choose one:
l In the Host field, type the name or IP address of the host where your
Cassandra instance is running.
l Or, in the Host field, type a comma-separated list of host names or IP
addresses of Cassandra servers to which the driver connects.
Note:
The driver attempts to connect to all the servers concurrently, and then keep
the first connection that is successfully established. The driver does not
maintain a connection with any of the other servers in the list.
9. In the Port field, type the number of the TCP port that the server uses to listen for
client connections.
Note:
The default port used by Cassandra is 9042.
10. If user login is required to access the Cassandra instance, then configure
authentication. For more information, see Configuring Authentication on
Windows on page 11.
11. In the Default Keyspace field, type the name of the Cassandra keyspace to use
by default.
12. To configure advanced driver options, click Advanced Options. For more
information, see Configuring Advanced Options on Windows on page 11.
13. To configure logging behavior for the driver, click Logging Options. For more
information, see Configuring Logging Options on Windows on page 15.
14. To test the connection, click Test. Review the results as needed, and then click
OK.
Note:
If the connection fails, then confirm that the settings in the DataStax
Cassandra ODBC Driver DSN Setup dialog box are correct. Contact your
Cassandra server administrator as needed.
15. To save your settings and close the DataStax ODBC driver for Apache
Cassandra and DataStax Enterprise with CQL connector DSN Setup dialog box,
www.datastax.com
10
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
click OK.
16. To close the ODBC Data Source Administrator, click OK.
Configuring Authentication on Windows
Some Cassandra databases require authentication. You can configure the driver to
pass your user name and password to the Cassandra server to authenticate the
connection.
To configure authentication on Windows:
1. To access authentication options, open the ODBC Data Source Administrator
where you created the DSN, select the DSN, and then click Configure.
2. In the Mechanism drop-down list, select User Name and Password.
3. In the Username field, type an appropriate user name for accessing the
Cassandra database.
4. In the Password field, type the password corresponding to the user name you
typed above.
5. Encrypt your credentials by selecting one of the following:
l If the credentials are used only by the current Windows user, select
Current User Only.
l Or, if the credentials are used by all users on the current Windows machine,
select All Users Of This Machine.
6. To save your settings and close the dialog box, click OK.
Configuring Advanced Options on Windows
You can configure advanced options to modify the behavior of the driver.
To configure advanced options on Windows:
1. To access advanced options, open the ODBC Data Source Administrator where
you created the DSN, then select the DSN, then click Configure, and then click
Advanced Options.
2. In the Query Mode list, select an option to specify how the driver executes
queries:
l To execute all queries in SQL, select SQL.
l To execute all queries in CQL, select CQL.
l To execute queries in SQL by default and then execute failed queries in
CQL, select SQL with CQL fallback.
3. In the Tunable Consistency list, select an option to specify a Cassandra replica
or the number of Cassandra replicas that must process a query in order for the
www.datastax.com
11
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
query to be considered successful. For detailed information about each option,
see the topic Configuring data consistency in the Apache Cassandra 2.0
documentation:
http://www.datastax.com/documentation/cassandra/2.0/cassandra/dml/dml_
config_consistency_c.html.
4. In the Load Balancing Policy list, select the load balancing policy to use:
l To cycle through all nodes in the cluster on a per-query basis, select
Round Robin.
l To first try all nodes in a primary "local" data center before trying any nodes
from other data centers, select DC Aware.
5. In the Binary Column Length field, type the default column length to report for
BLOB columns.
6. In the String Column Length field, type the default column length to report for
ASCII, TEXT, and VARCHAR columns.
7. In the Virtual Table Name Separator field, type a separator for naming a virtual
table built from a collection.
Note:
For more information about virtual tables, see Virtual Tables on page 37.
8. To use a Blacklist or Whitelist when connecting to hosts in the Cassandra
cluster, enter the host IPaddresses in the Blacklist Hosts or Whitelist Hosts
field.
l Each IPaddresses should be entered in quotation marks, separated by a
comma. For example:"1.2.3.4","5.6.7.8".
9. To use a Blacklist or Whitelist of datacenter hosts, enter the host names or
addresses in the Blacklist Datacenter Hosts or Whitelist Datacenter Hosts
field.
l Each name or addresses should be entered in quotation marks, separated
by a comma. For example:"datacenter1","datacenter2".
10. To use a token-aware policy to improve load balancing and latency, select the
Enable Token Aware check box.
11. To use a latency-awareness algorithm to distribute more of the workload onto
faster machines, select the Enable Latency Aware check box.
12. Select how the driver handles null value INSERT statements:
l To configure the driver to insert all NULL values as specified in INSERT
statements, select the Enable null values insertion check box.
l To configure the driver to ignore NULL values inserted into a column that
contains only NULL values, clear the Enable null values insertion check
box.
www.datastax.com
12
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
Note:
For more information about this option, see EnableNull Value Insert on
page 46.
13. Select how the driver handles capitalization in schema, table, and column
names:
l To differentiate between capital and lower-case letters in schema, table,
and column names, select the Enable Case Sensitive check box.
l To ignore the capitalization of schema, table, and column names, clear the
Enable Case Sensitive check box.
Note:
For more information about case sensitivity in Cassandra, see
EnableCaseSensitive on page 45.
14. To map text and varchar data types in Cassandra to use SQL_WVARCHAR,
select the Use SQL_WVARCHAR for string data type check box.
15. Select how the driver handles large result sets:
l To configure the driver to split large result sets into pages, select the
Enable paging check box and then type the maximum number of rows to
display on each page in the Rows per page field.
l To configure the driver to fetch all results into memory regardless of the
result set size, clear the Enable paging check box.
Important:
Disabling paging and then fetching a large result set can cause issues such
as out of memory errors and database timeouts.
16. To configure client-server verification over SSL, use the options in the SSL area.
For more information, see Configuring SSL Verification on Windows on page 13.
17. To save your settings and close the Advanced Options dialog box, click OK.
18. To close the DataStax Cassandra ODBC Driver DSN Setup dialog box, click OK.
Configuring SSL Verification on Windows
If you are connecting to a Cassandra server that has Secure Sockets Layer (SSL)
enabled, then you can configure the driver to connect to an SSL-enabled socket. When
connecting to a server over SSL, the driver supports identity verification between the
client and the server.
www.datastax.com
13
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
Configuring an SSL Connection without Identity Verification
You can configure a connection that uses SSL but does not verify the identity of the
client or the server.
To configure an SSL connection without verification on Windows:
1. To access the SSLoptions for a DSN, open the ODBC Data Source
Administrator where you created the DSN, then select the DSN, then click
Configure, and then click Advanced Options.
2. In the SSL area, select One-way Server Verification or Two-way Server and
Client Verification.
3. Clear the Enable Server Hostname Verification check box.
4. To save your settings and close the dialog box, click OK.
Configuring One-way SSL Verification
You can configure one-way SSL verification so that the client verifies the identity of the
Cassandra server.
To configure one-way SSL verification on Windows:
1. To access the SSLoptions for a DSN, open the ODBCData Source
Administrator where you created the DSN, then select the DSN, then click
Configure, and then click Advanced Options.
2. In the SSLarea, select One-way Server Verification.
3. Ensure that the Enable Server Hostname Verification check box is selected.
4. In the Trusted CA Certificates field, specify the full path of the PEM file
containing the certificate for verifying the server.
5. To save your settings and close the dialog box, click OK.
Configuring Two-way SSL Verification
You can configure two-way SSL verification so that the client and the Cassandra
server verify each other.
To configure two-way SSLverification on Windows:
1. To access the SSLoptions for a DSN, open the ODBCData Source
Administrator where you created the DSN, then select the DSN, then click
Configure, and then click Advanced Options.
2. In the SSLarea, select Two-way Server and Client Verification.
3. Ensure that the Enable Server Hostname Verification check box is selected.
4. In the Trusted CACertificates field, specify the full path of the PEM file
containing the certificate for verifying the server.
www.datastax.com
14
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
5. In the Client-side Certificate field, specify the full path of the PEMfile containing
the certificate for verifying the client.
6. In the Client-side Private Key field, specify the full path of the file containing the
private key used to verify the client.
7. If the private key file is protected with a password, type the password in the Key
File Password field. To save the password in the DSN, select the Remember
Password check box.
Important:
Passwords are saved in plain text in the DSN; they are not encrypted or
censored.
8. To save your settings and close the dialog box, click OK.
Configuring Logging Options on Windows
To help troubleshoot issues, you can enable logging. In addition to functionality
provided in the DataStax ODBC driver for Apache Cassandra and DataStax Enterprise
with CQL connector, the ODBC Data Source Administrator provides tracing
functionality.
Important:
Only enable logging or tracing long enough to capture an issue. Logging or tracing
decreases performance and can consume a large quantity of disk space.
The settings for logging apply to every connection that uses the DataStax ODBC
driver for Apache Cassandra and DataStax Enterprise with CQL connector, so
make sure to disable the feature after you are done using it.
To enable driver logging on Windows:
1. To access logging options, open the ODBC Data Source Administrator where
you created the DSN, then select the DSN, then click Configure, and then click
Logging Options.
2. From the Log Level drop-down list, select the logging level corresponding to the
amount of information that you want to include in log files:
Logging Level Description
OFF Disables all logging.
www.datastax.com
15
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
Logging Level Description
FATAL Logs severe error events that lead the driver to abort.
ERROR Logs error events that might allow the driver to continue
running.
WARNING Logs events that might result in an error if action is not
taken.
INFO Logs general information that describes the progress of
the driver.
DEBUG Logs detailed information that is useful for debugging the
driver.
TRACE Logs all driver activity.
3. In the Log Path field, specify the full path to the folder where you want to save
log files.
4. If requested by Technical Support, type the name of the component for which to
log messages in the Log Namespace field. Otherwise, do not type a value in the
field.
5. In the Max Number Files field, type the maximum number of log files to keep.
Note:
After the maximum number of log files is reached, each time an additional
file is created, the driver deletes the oldest log file.
6. In the Max File Size field, type the maximum size of each log file in megabytes
(MB).
Note:
After the maximum file size is reached, the driver creates a new file and
continues logging.
7. Click OK.
8. Restart your ODBC application to make sure that the new settings take effect.
The DataStax ODBC driver for Apache Cassandra and DataStax Enterprise with CQL
connector produces two log files at the location you specify in the Log Path field, where
[DriverName] is the name of the driver:
www.datastax.com
16
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
l A DataStax[DriverName]_driver.log file that logs driver activity that is
not specific to a connection.
l A DataStax[DriverName]_connection_[Number].log for each
connection made to the database, where [Number] is a number that identifies
each log file. This file logs driver activity that is specific to the connection.
If you enable the UseLogPrefix connection property, the driver prefixes the log file
name with the user name associated with the connection and the process ID of the
application through which the connection is made. For more information, see
UseLogPrefix on page 64.
To disable driver logging on Windows:
1. Open the ODBC Data Source Administrator where you created the DSN, then
select the DSN, then click Configure, and then click Logging Options.
2. From the Log Level drop-down list, select LOG_OFF.
3. Click OK.
4. Restart your ODBC application to make sure that the new settings take effect.
Verifying the Driver Version Number on Windows
If you need to verify the version of the DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector that is installed on your Windows
machine, you can find the version number in the ODBC Data Source Administrator.
To verify the driver version number on Windows:
1. Open the ODBC Administrator:
l
If you are using Windows 7 or earlier, click Start >All Programs
>DataStax Cassandra ODBC Driver 2.5 > ODBCAdministrator.
l Or, if you are using Windows 8 or later, on the Start screen, type ODBC
administrator, and then click the ODBC Administrator search result.
Note:
Make sure to select the ODBCData Source Administrator that has the same
bitness as the client application that you are using to connect to Cassandra.
2. Click the Drivers tab and then find the DataStax Cassandra ODBC Driver in the
list of ODBC drivers that are installed on your system. The version number is
displayed in the Version column.
www.datastax.com
17
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
Linux Driver
Linux System Requirements
The DataStax ODBC driver for Apache Cassandra and DataStax Enterprise with CQL
connector supports Apache Cassandra versions 2.0.0 through 3.x.
Install the driver on client machines where the application is installed. Each machine
that you install the driver on must meet the following minimum system requirements:
l One of the following distributions:
o
Red Hat® Enterprise Linux® (RHEL) 6 or 7
o
CentOS 6 or 7
o
SUSE Linux Enterprise Server (SLES) 11 or 12
o
Debian 7, 8, or 9
o
Ubuntu 14.04 or 16.04
l 50 MB of available disk space
l One of the following ODBC driver managers installed:
o
iODBC 3.52.7 or later
o
unixODBC 2.2.12 or later
To install the driver, you must have root access on the machine.
Installing the Driver Using the RPM File
On 64-bit editions of Linux, you can execute both 32- and 64-bit applications. However,
64-bit applications must use 64-bit drivers, and 32-bit applications must use 32-bit
drivers. Make sure to install and use the version of the driver that matches the bitness
of the client application:
l DataStaxCassandraODBC-32bit-[Version].rpm for the 32-bit driver
l DataStaxCassandraODBC-[Version].rpm for the 64-bit driver
[Version] is the version number of the driver.
You can install both the 32-bit and 64-bit versions of the driver on the same machine.
www.datastax.com
18
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
To install the DataStax ODBC driver for Apache Cassandra and DataStax
Enterprise with CQL connector using the RPM File:
1. Log in as the root user.
2. Navigate to the folder containing the RPMpackage for the driver.
3. Depending on the Linux distribution that you are using, run one of the following
commands from the command line, where [RPMFileName] is the file name of the
RPMpackage:
l If you are using Red Hat Enterprise Linux or CentOS, run the following
command:
yum --nogpgcheck localinstall [RPMFileName]
l Or, if you are using SUSE Linux Enterprise Server, run the following
command:
zypper install [RPMFileName]
The DataStax ODBC driver for Apache Cassandra and DataStax Enterprise with
CQL connector files are installed in the /opt/datastax/cassandraodbc
directory.
Next, configure the environment variables on your machine to make sure that the
ODBC driver manager can work with the driver. For more information, see Configuring
the ODBCDriver Manager on Linux on page 19.
Configuring the ODBCDriver Manager on Linux
To make sure that the ODBC driver manager on your Linux machine is configured to
work with the DataStax ODBC driver for Apache Cassandra and DataStax Enterprise
with CQL connector, do the following:
l Make sure that your machine uses the correct ODBC driver manager by setting
the library path environment variable. For more information, see Specifying
ODBCDriver Managers on Linux on page 20.
l If the driver configuration files are not stored in the default locations, then make
sure that the ODBC driver manager locates and uses those files by setting
environment variables. For more information, see Specifying the Locations of the
Driver Configuration Files on page 20.
After configuring the ODBC driver manager, you can configure a connection and
access your data store through the driver. For more information, see Configuring
ODBC Connections on Linux on page 21.
www.datastax.com
19
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
Specifying ODBCDriver Managers on Linux
You need to make sure that your Linux machine uses the correct ODBC driver
manager to load the driver. To do this, set the LD_LIBRARY_PATH environment
variable to include the paths to the ODBC driver manager libraries.
For example, if the libraries are installed in /usr/local/lib, then run the following
command to set LD_LIBRARY_PATH:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
The example above demonstrates how to set the environment variable for the current
user session. For information about setting environment variables permanently, refer to
the shell documentation for the platform that you are using.
Specifying the Locations of the Driver Configuration Files
By default, ODBC driver managers are configured to use hidden versions of the
odbc.ini and odbcinst.ini configuration files (named .odbc.ini and
.odbcinst.ini) located in the home directory, as well as the
datastax.cassandraodbc.ini file in the lib subfolder of the driver installation
directory. If you store these configuration files elsewhere, then you must set the
environment variables described below so that the driver manager can locate the files.
If you are using iODBC, do the following:
l Set ODBCINI to the full path and file name of the odbc.ini file.
l Set ODBCINSTINI to the full path and file name of the odbcinst.ini file.
l Set DATASTAXCASSANDRAODBC to the full path and file name of the
datastax.cassandraodbc.ini file.
If you are using unixODBC, do the following:
l Set ODBCINI to the full path and file name of the odbc.ini file.
l Set ODBCSYSINI to the full path of the directory that contains the
odbcinst.ini file.
l Set DATASTAXCASSANDRAODBC to the full path and file name of the
datastax.cassandraodbc.ini file.
For example, if your odbc.ini and odbcinst.ini files are located in
/usr/local/odbc and your datastax.cassandraodbc.ini file is located in
/etc, then set the environment variables as follows:
For iODBC:
export ODBCINI=/usr/local/odbc/odbc.ini
www.datastax.com
20
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
export ODBCINSTINI=/usr/local/odbc/odbcinst.ini
export DATASTAXCASSANDRAODBC=/etc/datastax.cassandraodbc.ini
For unixODBC:
export ODBCINI=/usr/local/odbc/odbc.ini
export ODBCSYSINI=/usr/local/odbc
export DATASTAXCASSANDRAODBC=/etc/datastax.cassandraodbc.ini
To locate the datastax.cassandraodbc.ini file, the driver uses the following
search order:
1. If the DATASTAXCASSANDRAODBC environment variable is defined, then the
driver searches for the file specified by the environment variable.
2. The driver searches the directory that contains the driver library files for a file
named datastax.cassandraodbc.ini.
3. The driver searches the current working directory of the application for a file
named datastax.cassandraodbc.ini.
4. The driver searches the home directory for a hidden file named
.datastax.cassandraodbc.ini (prefixed with a period).
5. The driver searches the /etc directory for a file named
datastax.cassandraodbc.ini.
Configuring ODBC Connections on Linux
The following sections describe how to configure ODBC connections when using the
DataStax ODBC driver for Apache Cassandra and DataStax Enterprise with CQL
connector on non-Windows platforms:
l Creating a Data Source Name on Linux on page 21
l Configuring a DSN-less Connection on Linux on page 24
l Configuring Authentication on Linux on page 26
l Configuring SSL Verification on Linux on page 26
l Configuring Logging Options on Linux on page 27
l Testing the Connection on Linux on page 29
Creating a Data Source Name on Linux
When connecting to your data store using a DSN, you only need to configure the
odbc.ini file. Set the properties in the odbc.ini file to create a DSN that specifies
the connection information for your data store. For information about configuring a
DSN-less connection instead, see Configuring a DSN-less Connection on Linux on
page 24.
www.datastax.com
21
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
If your machine is already configured to use an existing odbc.ini file, then update
that file by adding the settings described below. Otherwise, copy the odbc.ini file
from the Setup subfolder in the driver installation directory to the home directory, and
then update the file as described below.
To create a Data Source Name on a non-Windows machine:
1. In a text editor, open the odbc.ini configuration file.
Note:
If you are using a hidden copy of the odbc.ini file, then you need to
remove the period (.) from the start of the file name before the file becomes
editable.
2. In the [ODBC Data Sources] section, add a new entry by typing a name for
the DSN, an equal sign (=), and then the name of the driver.
For example, for the 32-bit driver:
[ODBC Data Sources]
Sample DSN=DataStax Cassandra ODBC Driver 32-bit
3. Create a section that has the same name as your DSN, and then specify
configuration options as key-value pairs in the section:
a. Set the Driver property to the full path of the driver library file that
matches the bitness of the application.
For example, for the 32-bit driver:
Driver=/opt/datastax/cassandraodbc/lib/32/libdatasta
xcqlodbc 32.so
b. Do one of the following:
l If you are connecting to a single Cassandra server, set the Host
property to the IP address or host name of the server, and then set the
Port property to the number of the TCP port that the server uses to
listen for client connections.
For example:
Host=192.168.222.160
Port=9042
l Or, if you are connecting to a multiple servers, set the Host property
to a comma-separated list of the servers in the cluster, specifying the
host names or IPaddresses and port numbers.
www.datastax.com
22
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
For example:
Host=192.168.222.160:9042, 192.168.222.165:9042,
192.168.222.231:9042
c. If authentication is required to access the server, then do the following:
i. Set the AuthMech property to 1.
ii. Set the UID property to an appropriate user name for accessing the
Cassandra server.
iii. Set the PWD property to the password corresponding to the user name
you provided above.
For example:
AuthMech=1
UID=datastax
PWD=datastax123
d. If you want to connect to the server through SSL, then enable SSL and
specify the certificate information. For more information, see Configuring
SSL Verification on Linux on page 26.
e. Optionally, set additional key-value pairs as needed to specify other
optional connection settings. For detailed information about all the
configuration options supported by the DataStax ODBC driver for Apache
Cassandra and DataStax Enterprise with CQL connector, see Driver
Configuration Options on page 42.
4. Save the odbc.ini configuration file.
Note:
If you are storing this file in its default location in the home directory, then
prefix the file name with a period (.) so that the file becomes hidden. If you
are storing this file in another location, then save it as a non-hidden file
(without the prefix), and make sure that the ODBCINI environment variable
specifies the location. For more information, see Specifying the Locations of
the Driver Configuration Files on page 20.
For example, the following is an odbc.ini configuration file for a 32-bit driver
containing a DSN that connects to a single Cassandra server with authentication:
[ODBC Data Sources]
Sample DSN=DataStaxCassandra ODBC Driver 32-bit
[Sample DSN]
Driver=/opt/datastax/cassandraodbc/lib/32/libdatastaxcqlodbc
32.so
www.datastax.com
23
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
Host=192.168.222.160
Port=9042
AuthMech=1
UID=datastax
PWD=datastax123
You can now use the DSN in an application to connect to the data store.
Configuring a DSN-less Connection on Linux
To connect to your data store through a DSN-less connection, you need to define the
driver in the odbcinst.ini file and then provide a DSN-less connection string in
your application.
If your machine is already configured to use an existing odbcinst.ini file, then
update that file by adding the settings described below. Otherwise, copy the
odbcinst.ini file from the Setup subfolder in the driver installation directory to the
home directory, and then update the file as described below.
To define a driver on a non-Windows machine:
1. In a text editor, open the odbcinst.ini configuration file.
Note:
If you are using a hidden copy of the odbcinst.ini file, then you need to
remove the period (.) from the start of the file name before the file becomes
editable.
2. In the [ODBC Drivers] section, add a new entry by typing a name for the
driver, an equal sign (=), and then Installed.
For example, for the 32-bit driver:
[ODBC Drivers]
DataStax ODBC driver for Apache Cassandra and DataStax
Enterprise with CQL connector 32-bit=Installed
3. Create a section that has the same name as the driver (as specified in the
previous step), and then specify the following configuration options as key-value
pairs in the section:
a. Set the Driver property to the full path of the driver library file that
matches the bitness of the application.
For example, for the 32-bit driver:
www.datastax.com
24
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
Driver=/opt/datastax/cassandraodbc/lib/32/libdatasta
xcqlodbc 32.so
b. Optionally, set the Description property to a description of the driver.
For example:
Description=DataStax ODBC driver for Apache
Cassandra and DataStax Enterprise with CQL connector
4. Save the odbcinst.ini configuration file.
Note:
If you are storing this file in its default location in the home directory, then
prefix the file name with a period (.) so that the file becomes hidden. If you
are storing this file in another location, then save it as a non-hidden file
(without the prefix), and make sure that the ODBCSYSINI environment
variable specifies the location. For more information, see Specifying the
Locations of the Driver Configuration Files on page 20.
For example, the following is an odbcinst.ini configuration file for both the 32- and
64-bit drivers on Linux:
[ODBC Drivers]
DataStax ODBC driver for Apache Cassandra and DataStax
Enterprise with CQL connector 32-bit=Installed
DataStax ODBC driver for Apache Cassandra and DataStax
Enterprise with CQL connector 64-bit=Installed
[DataStax ODBC driver for Apache Cassandra and DataStax
Enterprise with CQL connector 32-bit]
Description=DataStax ODBC driver for Apache Cassandra and
DataStax Enterprise with CQL connector (32-bit)
Driver=/opt/datastax/cassandraodbc/lib/32/libdatastaxcqlodbc
32.so
[DataStax ODBC driver for Apache Cassandra and DataStax
Enterprise with CQL connector 64-bit]
Description=DataStax ODBC driver for Apache Cassandra and
DataStax Enterprise with CQL connector (64-bit)
Driver=/opt/datastax/cassandraodbc/lib/64/libdatastaxcqlodbc
64.so
You can now connect to your data store by providing your application with a
connection string where the Driver property is set to the driver name specified in the
odbcinst.ini file, and all the other necessary connection properties are also set.
www.datastax.com
25
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
For more information, see "DSN-less Connection String Examples" in Using a
Connection String on page 32.
For instructions about configuring SSL connections, see Configuring SSL Verification
on Linux on page 26.
For detailed information about all the connection properties that the driver supports,
see Driver Configuration Options on page 42.
Configuring Authentication on Linux
Some Cassandra databases require authentication. You can configure the DataStax
ODBC driver for Apache Cassandra and DataStax Enterprise with CQL connector to
authenticate your connection to the database by providing your Cassandra user name
and password.
You can set the connection properties described below in a connection string or in a
DSN (in the odbc.ini file). Settings in the connection string take precedence over
settings in the DSN.
To configure authentication:
1. Set the AuthMech property to 1.
2. Set the UID property to an appropriate user name for accessing the Cassandra
server.
3. Set the PWD property to password corresponding to the user name you provided
above.
Configuring SSL Verification on Linux
You can configure the driver to connect to Cassandra over SSL and enable identity
verification between the client and the server.
You can set the connection properties described below in a connection string or in a
DSN (in the odbc.ini file). Settings in the connection string take precedence over
settings in the DSN.
Configuring a Connection without SSL
You can configure a connection that does not use SSL.
To configure a connection without SSL on Linux:
Set the SSLMode property to 0.
Configuring One-way SSL Verification
You can enable the client to verify the Cassandra server.
www.datastax.com
26
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
To configure one-way SSLverification on Linux:
1. Set the SSLMode property to 1.
2. Set the UseSslIdentityCheck property to 1.
3. Set the SSLTrustedCertsPath property to the full path of the .pem file
containing the certificate for verifying the server.
Configuring Two-way SSLVerification
You can enable the client and the Cassandra server to verify each other.
To configure two-way SSLverification on Linux:
1. Set the SSLMode property to 2.
2. Set the UseSslIdentityCheck property to 1.
3. Set the SSLTrustedCertsPath property to the full path of the .pem file
containing the certificate for verifying the server.
4. Set the SSLUserCertsPath property to the full path of the .pem file containing
the certificate for verifying the client.
5. Set the SSLUserKeyPath property to the full path of the file containing the
private key used to verify the client.
6. If the private key file is protected with a password, set the SSLUserKeyPWD
property to specify the password.
Important:
Passwords are saved in plain text in the DSN; they are not encrypted or
censored.
Configuring an SSLConnection that does not Verify Certificates
You can configure a connection that uses SSLbut does not verify the client or the
server.
To configure an SSL connection without verification on Linux:
1. Set the SSLMode property to 1 or 2.
2. Set the UseSslIdentityCheck property to 0.
Configuring Logging Options on Linux
To help troubleshoot issues, you can enable logging in the driver.
www.datastax.com
27
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
Important:
Only enable logging long enough to capture an issue. Logging decreases
performance and can consume a large quantity of disk space.
Logging is configured through driver-wide settings in the
datastax.cassandraodbc.ini file, which apply to all connections that use the
driver.
To enable logging on Linux:
1. Open the datastax.cassandraodbc.ini configuration file in a text editor.
2. To specify the level of information to include in log files, set the LogLevel
property to one of the following numbers:
LogLevel Value Description
0
Disables all logging.
1
Logs severe error events that lead the driver to abort.
2
Logs error events that might allow the driver to continue
running.
3
Logs events that might result in an error if action is not
taken.
4
Logs general information that describes the progress of
the driver.
5
Logs detailed information that is useful for debugging the
driver.
6
Logs all driver activity.
3. Set the LogPath key to the full path to the folder where you want to save log
files.
4. Set the LogFileCount key to the maximum number of log files to keep.
Note:
After the maximum number of log files is reached, each time an additional
file is created, the driver deletes the oldest log file.
www.datastax.com
28
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
5. Set the LogFileSize key to the maximum size of each log file in megabytes
(MB).
Note:
After the maximum file size is reached, the driver creates a new file and
continues logging.
6. Optionally, to prefix the log file name with the user name and process ID
associated with the connection, set the UseLogPrefix property to 1.
7. Save the datastax.cassandraodbc.ini configuration file.
8. Restart your ODBC application to make sure that the new settings take effect.
The DataStax ODBC driver for Apache Cassandra and DataStax Enterprise with CQL
connector produces two log files at the location you specify using the LogPath key,
where [DriverName] is the name of the driver:
l A [DriverName]_driver.log file that logs driver activity that is not specific
to a connection.
l A [DriverName]_connection_[Number].log for each connection made
to the database, where [Number] is a number that identifies each log file. This file
logs driver activity that is specific to the connection.
If you set the UseLogPrefix property to 1, then each file name is prefixed with
[UserName]_[ProcessID]_, where [UserName] is the user name associated with
the connection and [ProcessID] is the process ID of the application through which the
connection is made. For more information, see UseLogPrefix on page 64.
To disable logging on Linux:
1. Open the datastax.cassandraodbc.ini configuration file in a text editor.
2. Set the LogLevel key to 0.
3. Save the datastax.cassandraodbc.ini configuration file.
4. Restart your ODBC application to make sure that the new settings take effect.
Testing the Connection on Linux
To test the connection, you can use an ODBC-enabled client application. For a basic
connection test, you can also use the test utilities that are packaged with your driver
manager installation. For example, the iODBC driver manager includes simple utilities
called iodbctest and iodbctestw. Similarly, the unixODBC driver manager includes
simple utilities called isql and iusql.
www.datastax.com
29
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
Using the iODBCDriver Manager
You can use the iodbctest and iodbctestw utilities to establish a test connection with
your driver. Use iodbctest to test how your driver works with an ANSI application, or
use iodbctestw to test how your driver works with a Unicode application.
Note:
There are 32-bit and 64-bit installations of the iODBC driver manager available. If
you have only one or the other installed, then the appropriate version of iodbctest
(or iodbctestw) is available. However, if you have both 32- and 64-bit versions
installed, then you need to make sure that you are running the version from the
correct installation directory.
For more information about using the iODBC driver manager, see http://www.iodbc.org.
To test your connection using the iODBC driver manager:
1. Run iodbctest or iodbctestw.
2. Optionally, if you do not remember the DSN, then type a question mark (?) to see
a list of available DSNs.
3. Type the connection string for connecting to your data store, and then press
ENTER. For more information, see Using a Connection String on page 32.
If the connection is successful, then the SQL> prompt appears.
Using the unixODBCDriver Manager
You can use the isql and iusql utilities to establish a test connection with your driver
and your DSN. isql and iusql can only be used to test connections that use a DSN.
Use isql to test how your driver works with an ANSI application, or use iusql to test how
your driver works with a Unicode application.
Note:
There are 32-bit and 64-bit installations of the unixODBC driver manager
available. If you have only one or the other installed, then the appropriate version
of isql (or iusql) is available. However, if you have both 32- and 64-bit versions
installed, then you need to make sure that you are running the version from the
correct installation directory.
For more information about using the unixODBC driver manager, see
http://www.unixodbc.org.
www.datastax.com
30
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
To test your connection using the unixODBC driver manager:
Run isql or iusql by using the corresponding syntax:
l
isql [DataSourceName]
l
iusql [DataSourceName]
[DataSourceName] is the DSN that you are using for the connection.
If the connection is successful, then the SQL> prompt appears.
Note:
For information about the available options, run isql or iusql without providing a
DSN.
Verifying the Driver Version Number on Linux
If you need to verify the version of the DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector that is installed on your Linux machine,
you can query the version number through the command-line interface if the driver was
installed using an RPM file.
To verify the driver version number on Linux:
Depending on your package manager, at the command prompt, run one of the
following commands:
l
yum list | grep DataStaxCassandraODBC
l
rpm -qa | grep DataStaxCassandraODBC
The command returns information about the DataStax ODBC driver for Apache
Cassandra and DataStax Enterprise with CQL connector that is installed on your
machine, including the version number.
www.datastax.com
31
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
Using a Connection String
For some applications, you might need to use a connection string to connect to your
data source. For detailed information about how to use a connection string in an ODBC
application, refer to the documentation for the application that you are using.
The connection strings in the following sections are examples showing the minimum
set of connection attributes that you must specify to successfully connect to the data
source. Depending on the configuration of the data source and the type of connection
you are working with, you might need to specify additional connection attributes. For
detailed information about all the attributes that you can use in the connection string,
see Driver Configuration Options on page 42.
DSN Connection String Example
The following is an example of a connection string for a connection that uses a DSN:
DSN=[DataSourceName]
[DataSourceName] is the DSN that you are using for the connection.
You can set additional configuration options by appending key-value pairs to the
connection string. Configuration options that are passed in using a connection string
take precedence over configuration options that are set in the DSN.
DSN-lessConnection String Examples
Some applications provide support for connecting to a data source using a driver
without a DSN. To connect to a data source without using a DSN, use a connection
string instead.
The placeholders in the examples are defined as follows, in alphabetical order:
l [PortNumber] is the number of the TCP port that the Cassandra server uses to
listen for client connections.
l [Server] is the IP address or host name of the Cassandra server to which you are
connecting. You can specify a comma-separated list of servers.
l [YourPassword] is the password corresponding to your user name.
l [YourUserName] is the user name that you use to access the Cassandra server.
www.datastax.com
32
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
Connecting to a Cassandra Server Without Authentication
The following is the format of a DSN-less connection string for a Cassandra server that
does not require authentication:
Driver=DataStax Cassandra ODBC Driver;Host=[Server];
Port=[PortNumber];
For example:
Driver=DataStax Cassandra ODBC Driver;Host=192.168.222.160;
Port=9042;
Connecting to a Cassandra Server Requiring Authentication
The following is the format of a DSN-less connection string for a Cassandra server that
requires authentication:
Driver=DataStax Cassandra ODBC Driver;Host=[Server];
Port=[PortNumber];AuthMech=1;UID=[YourUserName];
PWD=[YourPassword];
For example:
Driver=DataStax Cassandra ODBC Driver;Host=192.168.222.160;
Port=9042;AuthMech=1;UID=datastax;PWD=datastax123;
www.datastax.com
33
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
Features
For more information on the features of the DataStax ODBC driver for Apache
Cassandra and DataStax Enterprise with CQL connector, see the following:
l CQL Connector on page 34
l Data Types on page 34
l User-Defined Types on page 36
l Virtual Tables on page 37
l Write-Back on page 39
l Query Modes on page 40
l Catalog and Schema Support on page 40
l Security and Authentication on page 40
CQL Connector
The CQL Connector feature of the driver allows applications to execute standard SQL
queries against Cassandra. It converts SQL-92 queries to CQL operations and
processes the results. When the driver is configured to work in SQL with CQL Fallback
mode, it uses the SQL Connector to handle SQL queries by loading and processing
the data in memory. This feature enables the driver to support SQL operations that
cannot be executed natively through CQL queries, such as column filtering and table
joins.
Data Types
The DataStax ODBC driver for Apache Cassandra and DataStax Enterprise with CQL
connector can convert between Cassandra data types and SQL data types.
The table below lists the supported ODBC 3.x data type mappings. Afew data types
are mapped to a different type when using ODBC 2.x. Those data type mappings are
listed in the next table.
To support complex data types such as sets, lists, and maps, the driver renormalizes
the data into virtual tables. For more information, see Virtual Tables on page 37.
Cassandra Type SQL Type
ASCII SQL_VARCHAR
www.datastax.com
34
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
Cassandra Type SQL Type
BIGINT SQL_INT
BLOB SQL_LONGVARBINARY
BOOLEAN SQL_BIT
COUNTER SQL_BIGINT
DATE SQL_DATE (2.x) and SQL_TYPE_DATE (3.x)
DECIMAL SQL_DECIMAL
DOUBLE SQL_DOUBLE
FLOAT SQL_REAL
INET SQL_VARCHAR
INT SQL_INTEGER
SMALLINT SQL_SMALLINT
TEXT SQL_WVARCHAR
TIME SQL_TIME (2.x) or SQL_TYPE_TIME (3.x)
TIMESTAMP
See the note below.
SQL_TYPE_TIMESTAMP
TIMEUUID GUID
TINYINT SQL_TINYINT
UUID GUID
VARCHAR SQL_VARCHAR
VARINT SQL_NUMERIC
www.datastax.com
35
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
Note:
Cassandra internally represents a Timestamp value as a 64-bit signed integer
value representing the number of milliseconds since epoch January 1 1970 at
00:00:00 GMT. The range of Timestamp values supported by the DataStax ODBC
driver for Apache Cassandra and DataStax Enterprise with CQL connector is from
"1601-01-01 00:00:00.000" to "9999-12-31 23:59:59.999".
Cassandra Type SQL Type
TIMESTAMP
See the note above.
SQL_TIMESTAMP
TIMEUUID SQL_VARCHAR
UUID SQL_VARCHAR
User-Defined Types
The DataStax ODBC driver for Apache Cassandra and DataStax Enterprise with CQL
connector provides support for Cassandra user-defined types in certain situations.
Specifically, user-defined types are supported as base data or as part of a collection.
The column names for user-defined types are constructed in the following format:
[Column_name]_[Subtype_name]
Where:
l [Column_name] is the name of the column that contains the user-defined type
l [Subtype_name]is the name of the subtype in the user-defined type
For example, a user-defined type that contains a user's full name is created as follows:
CREATE TYPE fullname
(first_name text, last_name text)
The driver creates a table that contains two columns, id:text and
name:fullname. The driver then reads the data from this table as follows:
"id", "name_first_name", "name_last_name"
"a", "Chris", "Kwan"
www.datastax.com
36
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
Virtual Tables
One advantage of the Apache Cassandra design is the ability to store data that is
denormalized into fewer tables. By taking advantage of nested data structures such as
sets, lists, and maps, transactions can be simplified. However, the ODBC interface
does not natively support accessing this type of data. By renormalizing the data
contained within collections (sets, lists, and maps) into virtual tables, the DataStax
ODBC driver for Apache Cassandra and DataStax Enterprise with CQL connector
allows users to directly interact with the data but leave the storage of the data in its
denormalized form in Cassandra.
If a table contains any collection columns, when the table is queried for the first time,
the driver creates the following virtual tables:
l A "base" table, which contains the same data as the real table except for the
collection columns.
l A virtual table for each collection column, which expands the nested data.
Virtual tables refer to the data in the real table, enabling the driver to access the
denormalized data. By querying the virtual tables, you can access the contents of
Cassandra collections via ODBC. When you write or modify data in a virtual table, the
data in the real table in the Cassandra database is updated.
The base table and virtual tables appear as additional tables in the list of tables that
exist in the database. The base table uses the same name as the real table that it
represents. The virtual tables that represent collections are named using the name of
the real table, a separator (_vt_ by default), and the name of the column.
For example, consider the table below. ExampleTable is a Cassandra database table
that contains an integer primary key column named pk_int, a list column, a map
column, and a set column (named StringSet).
pk_int List Map StringSet
1 ["1", "2" , "3"] {"S1" : "a", "S2" : "b" } {"A", "B", "C" }
3 ["100", "101", "102",
"105"]
{"S1" : "t" } {"A", "E" }
The driver would generate multiple virtual tables to represent this single table. The first
virtual table is the base table, shown below.
www.datastax.com
37
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
pk_int
1
3
The base table contains the same data as the original database table except for the
collections, which are omitted from this table and expanded in other virtual tables.
The following tables show the virtual tables that renormalize the data from the List,
Map, and StringSet columns.
pk_int List#index List#value
1 0 1
1 1 2
1 2 3
3 0 100
3 1 101
3 2 102
3 3 105
pk_int Map#key Map#value
1 S1 A
1 S2 b
3 S1 t
pk_int StringSet#value
1 A
www.datastax.com
38
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
pk_int StringSet#value
1 B
1 C
3 A
3 E
The foreign key columns in the virtual tables reference the primary key columns in the
real table, and indicate which real table row the virtual table row corresponds to. The
columns with names that end with #index or #key indicate the position of the data
within the original list or map. The columns with names that end with #value contain
the expanded data from the collection.
The data in the virtual tables can be selected, inserted, and updated as if they were
normal tables, and the driver will handle the storage details within Cassandra. You can
also explicitly append data to the end of a list by inserting a row of data with the index
column set to -1.
For example, to append 106 to the List column in ExampleTable, where pk_int = 3, use
the following query:
INSERT INTO "ExampleTable_vt_List" (pk_int, "List#index",
"List#value") VALUES (3, -1, '106')
Write-Back
The DataStax ODBC driver for Apache Cassandra and DataStax Enterprise with CQL
connector supports Data Manipulation Languages (DML) statements such as INSERT,
UPDATE, and DELETE.
Because Cassandra supports the UPSERT operation instead of INSERT and
UPDATE, when you execute an INSERT or UPDATE statement using the DataStax
ODBC driver for Apache Cassandra and DataStax Enterprise with CQL connector, the
resulting behavior is an UPSERT operation. When you use the driver to write data to a
Cassandra database, the INSERT and UPDATE operations both set the column value
regardless of whether the data already exists.
You can use the TRUNCATE TABLE statement to delete rows from non-virtual tables.
However, to delete rows from virtual tables, you must use the DELETE FROM
statement instead.
www.datastax.com
39
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
Query Modes
The DataStax ODBC driver for Apache Cassandra and DataStax Enterprise with CQL
connector can be configured to process queries as SQL statements or as CQL
statements.
The default query mode used by the driver is SQL with CQL Fallback. In this query
mode, the driver treats all incoming queries as SQL. If an error occurs while handling
the query as SQL, then the driver will pass the original query to Cassandra to execute
as CQL. However, because Cassandra is not aware of virtual tables, incoming queries
that reference virtual tables will fail when they are passed through to the server to be
executed as CQL.
Alternatively, you can configure the driver to work in SQL mode or CQLmode. When
working in SQLmode, the driver treats all incoming queries as SQL, so any queries
that are not written in standard SQL-92 syntax will fail. When working in CQL mode,
the driver treats all incoming queries as CQL, so any queries written in a non-CQL
syntax will fail.
Catalog and Schema Support
The DataStax ODBC driver for Apache Cassandra and DataStax Enterprise with CQL
connector supports both catalogs and schemas to make it easy for the driver to work
with various ODBC applications. Since Cassandra only organizes column families
into keyspaces, the driver provides a synthetic catalog named CASSANDRA under
which all of the keyspaces are organized. The driver also maps the ODBC schema to
the Cassandra keyspace.
Security and Authentication
To protect data from unauthorized access, some Cassandra data stores require
connections to be authenticated with user credentials or the SSL protocol. The
DataStax ODBC driver for Apache Cassandra and DataStax Enterprise with CQL
connector provides full support for these authentication protocols.
Note:
In this documentation, "SSL" refers to both TLS (Transport Layer Security) and
SSL (Secure Sockets Layer). The driver supports TLS 1.1 and 1.2. The
SSLversion used for the connection is the highest version that is supported by
both the driver and the server.
www.datastax.com
40
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
The driver provides a mechanism that enables you to authenticate your connection
using your Cassandra user name and password. For detailed configuration
instructions, see Configuring Authentication on Windows on page 11 or Configuring
Authentication on Linux on page 26.
Additionally, the driver supports the following types of SSLconnections:
l No identity verification
l One-way authentication
l Two-way authentication
It is recommended that you enable SSL whenever you connect to a server that is
configured to support it. SSL encryption protects data and credentials when they are
transferred over the network, and provides stronger security than authentication alone.
For detailed configuration instructions, see Configuring SSL Verification on Windows
on page 13 or Configuring SSL Verification on Linux on page 26.
www.datastax.com
41
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
Driver Configuration Options
Driver Configuration Options lists the configuration options available in the DataStax
ODBC driver for Apache Cassandra and DataStax Enterprise with CQL connector
alphabetically by field or button label. Options having only key names, that is, not
appearing in the user interface of the driver, are listed alphabetically by key name.
When creating or configuring a connection from a Windows machine, the fields and
buttons described below are available in the following dialog boxes:
l DataStax Cassandra ODBC Driver DSN Setup
l Advanced Options
l Logging Options
When using a connection string or configuring a connection from a non-Windows
machine, use the key names provided below.
Configuration Options Appearing in the User
Interface
The following configuration options are accessible via the Windows user interface for
the DataStax ODBC driver for Apache Cassandra and DataStax Enterprise with CQL
connector, or via the key name when using a connection string or configuring a
connection from a Linux or macOS computer:
l BinaryColumnLength on page 43
l Blacklist Datacenter Hosts on
page 43
l Blacklist Hosts on page 43
l Client-side Certificate on page 44
l Client-side Private Key on page
44
l DefaultKeyspace on page 44
l EnableCaseSensitive on page
45
l Enable Latency Aware on page 45
l EnableNull Value Insert on page
46
l Enable Paging on page 46
l LogPath on page 50
l MaxFile Size on page 51
l MaxNumber Files on page 51
l Mechanism on page 52
l Password on page 52
l Port on page 52
l QueryMode on page 53
l Rows Per Page on page 53
l SSL on page 53
l String Column Length on page 54
l Trusted CACertificates on page
54
l TunableConsistency on page 55
l No on page 55
www.datastax.com
42
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
l Enable Token Aware on page 47
l Enable Server Hostname
Verification on page 47
l Host on page 48
l Key File Password on page 48
l Load Balancing Policy on page 49
l LogLevel on page 49
l User Name on page 56
l Virtual TableNameSeparator on
page 56
l Whitelist Datacenter Hosts on
page 56
l Whitelist Hosts on page 57
Binary Column Length
Key Name Default Value Required
BinaryColumnLength 4000
No
Description
The default column length to report for BLOB columns.
Blacklist Datacenter Hosts
Key Name Default Value Required
BlacklistDatacenterFilteringHosts
None No
Description
The address or name of data center hosts in the Cassandra cluster you do not wish to
connect to. Each name or addresses should be entered in quotation marks, separated
by a comma.
For example:"datacenter1","datacenter2".
Blacklist Hosts
Key Name Default Value Required
BlacklistFilteringHosts
None No
www.datastax.com
43
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
Description
The IPaddresses of data store hosts in the Cassandra cluster you do not wish to
connect to. Each IPaddresses should be entered in quotation marks, separated by a
comma.
For example:"1.2.3.4","5.6.7.8".
Client-side Certificate
Key Name Default Value Required
SSLUserCertsPath
None Yes, if two-way SSL
verification is enabled.
Description
The full path to the .pem file containing the certificate for verifying the client.
Client-side Private Key
Key Name Default Value Required
SSLUserKeyPath
None Yes, if two-way SSL
verification is enabled.
Description
The full path to the file containing the private key used to verify the client.
Default Keyspace
Key Name Default Value Required
DefaultKeyspace
None No
Description
The default keyspace (schema)to connect to in Cassandra.
www.datastax.com
44
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
Enable Case Sensitive
Key Name Default Value Required
EnableCaseSensitive
Selected (1) No
Description
This option specifies whether the driver differentiates between capital and lower-case
letters in schema, table, and column names.
l Enabled (1): The driver differentiates between capital and lower-case letters in
schema, table, and column names. It is recommended that you enclose the
names of all schemas, tables, and columns in double quotation marks (") if this
option is enabled.
l Disabled (10): The driver ignores the capitalization of schema, table, and column
names.
Important:
l If the naming conventions for your Cassandra server are case-sensitive, you
must leave this option enabled.
l If you are using the driver in a BI tool such as Tableau or Lumira, it is
recommended that you leave this option enabled.
l If this option is disabled, then queries that use case-sensitive schema, table,
and column names are not supported.
Enable Latency Aware
Key Name Default Value Required
EnableLatencyAware
Clear (0) No
Description
This option specifies whether the driver uses a latency-awareness algorithm to
distribute the load away from slower-performing nodes.
l Enabled (1): The driver uses the latency-awareness algorithm.
l Disabled (0): The driver does use the latency-awareness algorithm.
www.datastax.com
45
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
Enable Null Value Insert
Key Name Default Value Required
EnableNullInsert
Clear (0) No
Description
This option specifies how the driver inserts NULL values.
l Enabled (1): The driver inserts all NULL values as specified in INSERT
statements.
l Disabled (0): If an INSERT statement only specifies NULL values for a column or
does not specify any values for a column, then the driver omits that column when
executing the INSERT statement.
Consider the following before modifying this property:
l It is recommended that you leave the property disabled so that the driver does not
insert NULLvalues into empty cells and create tombstones, which may decrease
server performance and cause errors to occur. However, this setting may
decrease driver performance when executing INSERT statements that affect a
large number of rows.
l It is recommended that you enable this property by setting it to 1 only when
executing INSERT statements that do not contain unnecessary NULLvalues,
because inserting NULL values into empty columns creates tombstones.
For more information about tombstones, see "About deletes" in the Apache Cassandra
2.0 documentation:http://docs.datastax.com/en/cassandra/2.0/cassandra/dml/dml_
about_deletes_c.html.
Enable Paging
Key Name Default Value Required
EnablePaging
Selected (1) No
Description
This option specifies whether to split large result sets into pages.
www.datastax.com
46
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
l Enabled (1): The driver splits large result sets into pages.
l Disabled (0): The driver fetches all results into memory regardless of the result
set size.
See also the driver configuration option Rows Per Page on page 53.
Enable Server Hostname Verification
Key Name Default Value Required
UseSslIdentityCheck
Selected (1) No
Description
This option specifies whether the driver requires the host name of the server to match
the host name in the SSL certificate.
l Enabled (1): During SSL verification the driver requires the host name of the
server to match the host name in the certificate.
l Disabled (0): During SSLverification the driver allows the host name of the
server to not match the host name in the certificate.
Enable Token Aware
Key Name Default Value Required
EnableTokenAware
Selected (1) No
Description
This option specifies whether to use a token-aware policy to improve load balancing
and latency.
l Enabled (1): The driver uses the token-aware policy.
l Disabled (1): The token-aware policy is not used.
Encrypt Password
Key Name Default Value Required
N/A All Users Of This
Machine
No
www.datastax.com
47
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
Description
This option specifies how the driver encrypts the credentials that are saved in the DSN:
l Current User Only: The credentials are encrypted, and can only be used by the
current Windows user.
l All Users Of This Machine: The credentials are encrypted, but can be used by
any user on the current Windows machine.
Important:
This option is available only when you configure a DSNusing the DataStax ODBC
driver for Apache Cassandra and DataStax Enterprise with CQL connector
DSNSetup dialog box in the Windows driver. When you connect to the data store
using a connection string, the driver does not encrypt your credentials.
Host
Key Name Default Value Required
Host
None Yes
Description
The IP address or host name of the Cassandra server.
You can specify a comma-separated list of IP addresses or host names. The driver
attempts to connect to each of the servers in succession, and establishes the first
available connection.
Key File Password
Key Name Default Value Required
SSLUserKeyPWD
None No
Description
The password for the private key file that is specified in the Client-side Private Key
field or the SSLUserKeyPath key.
For more information, see Client-side Private Key on page 44.
www.datastax.com
48
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
Load Balancing Policy
Key Name Default Value Required
LoadBalancingPolicy
DC Aware (0) No
Description
This option specifies the load balancing policy to be used.
l Round Robin (1): The driver uses the Round Robin policy to cycle through all
nodes in the cluster on a per-query basis.
l DC Aware (0): The driver uses the DC Aware policy. For each query, all nodes in
a primary "local" data center are tried first, before any nodes from other data
centers.
Note:
As of driver version 2.5.6, the COLoadBalancingPolicy key has been
deprecated and replaced by the LoadBalancingPolicy key. The driver still
accepts COLoadBalancingPolicy in the connection string, but this key may
not be supported in future releases. It is recommended that you use the
LoadBalancingPolicy key instead.
Log Level
Key Name Default Value Required
LogLevel
OFF (0) No
Description
Use this property to enable or disable logging in the driver and to specify the amount of
detail included in log files.
www.datastax.com
49
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
Important:
l Only enable logging long enough to capture an issue. Logging decreases
performance and can consume a large quantity of disk space.
l The settings for logging apply to every connection that uses the DataStax
ODBC driver for Apache Cassandra and DataStax Enterprise with CQL
connector, so make sure to disable the feature after you are done using it.
l This option is not supported in connection strings. To configure logging for
the Windows driver, you must use the Logging Options dialog box. To
configure logging for a non-Windows driver, you must use the
datastax.cassandraodbc.ini file.
Set the property to one of the following values:
l OFF (0): Disable all logging.
l FATAL (1): Logs severe error events that lead the driver to abort.
l ERROR (2): Logs error events that might allow the driver to continue running.
l WARNING (3): Logs events that might result in an error if action is not taken.
l INFO (4): Logs general information that describes the progress of the driver.
l DEBUG (5): Logs detailed information that is useful for debugging the driver.
l TRACE (6): Logs all driver activity.
When logging is enabled, the driver produces two log files at the location you specify
in the Log Path (LogPath) property, where [DriverName] is the name of the driver:
l A [DriverName]_driver.log file that logs driver activity that is not specific
to a connection.
l A [DriverName]_connection_[Number].log for each connection made
to the database, where [Number] is a number that identifies each log file. This file
logs driver activity that is specific to the connection.
If you enable the UseLogPrefix connection property, the driver prefixes the log file
name with the user name associated with the connection and the process ID of the
application through which the connection is made. For more information, see
UseLogPrefix on page 64.
Log Path
Key Name Default Value Required
LogPath
None Yes, if logging is
enabled.
www.datastax.com
50
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
Description
The full path to the folder where the driver saves log files when logging is enabled.
Important:
This option is not supported in connection strings. To configure logging for the
Windows driver, you must use the Logging Options dialog box. To configure
logging for a non-Windows driver, you must use the
datastax.cassandraodbc.ini file.
MaxFile Size
Key Name Default Value Required
LogFileSize 20
No
Description
The maximum size of each log file in megabytes (MB). After the maximum file size is
reached, the driver creates a new file and continues logging.
Important:
This option is not supported in connection strings. To configure logging for the
Windows driver, you must use the Logging Options dialog box. To configure
logging for a non-Windows driver, you must use the
datastax.cassandraodbc.ini file.
MaxNumber Files
Key Name Default Value Required
LogFileCount 50
No
Description
The maximum number of log files to keep. After the maximum number of log files is
reached, each time an additional file is created, the driver deletes the oldest log file.
www.datastax.com
51
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
Important:
This option is not supported in connection strings. To configure logging for the
Windows driver, you must use the Logging Options dialog box. To configure
logging for a non-Windows driver, you must use the
datastax.cassandraodbc.ini file.
Mechanism
Key Name Default Value Required
AuthMech
No Authentication (0) No
Description
The authentication mechanism to use.
Select one of the following settings, or set the key to the corresponding number:
l No Authentication (0)
l User Name And Password (1)
Password
Key Name Default Value Required
PWD
None Yes, if the authentication
mechanism is User
Name And Password (1).
Description
The password corresponding to the user name that you provided in the User Name
field (the UID key).
Port
Key Name Default Value Required
Port 9042
Yes
www.datastax.com
52
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
Description
The TCP port that the Cassandra server uses to listen for client connections.
Query Mode
Key Name Default Value Required
QueryMode
SQL with CQL Fallback
(2)
No
Description
This option specifies the query mode to use when sending queries to Cassandra.
l SQL (0):The driver uses SQL_QUERY_MODE and executes all queries in SQL.
l CQL (1): The driver uses CQL_QUERY_MODE and executes all queries in CQL.
l SQL with CQL Fallback (2): The driver uses SQL_WITH_CQL_FALLBACK_
QUERY_MODE and executes all queries in SQL by default. If a query fails, then
the driver executes the query in CQL.
Rows Per Page
Key Name Default Value Required
RowsPerPage 10000
No
Description
When the Enable Paging option is enabled, use this option to specify the maximum
number of rows to display on each page.
See also the driver configuration option Enable Paging on page 46.
SSL
Key Name Default Value Required
SSLMode
No SSL (0) No
www.datastax.com
53
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
Description
This option specifies how the driver uses SSL to connect to the Cassandra server.
l No SSL (0): The driver does not use SSL.
l One-way Server Verification (1): If the Enable Server Hostname Verification
option is enabled, the client verifies the Cassandra server using SSL. Otherwise,
the driver connects to the Cassandra server using SSL but the client and the
server do not verify each other.
l Two-way Server and Client Verification (2): If the Enable Server Hostname
Verification option is enabled, the client and the Cassandra server verify each
other using SSL. Otherwise, the driver connects to the Cassandra server using
SSL but the client and the server do not verify each other.
For more information, see Enable Server Hostname Verification on page 47.
String Column Length
Key Name Default Value Required
StringColumnLength 4000
No
Description
The default column length to report for ASCII, TEXT, and VARCHAR columns.
Trusted CACertificates
Key Name Default Value Required
SSLTrustedCertsPath
The path to the
cacerts.pem file in
the \lib folder in the
driver's installation
directory.
The exact file path varies
depending on the
version of the driver that
is installed.
No
Description
The full path to the .pem file containing the certificate for verifying the server.
www.datastax.com
54
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
Tunable Consistency
Key Name Default Value Required
TunableConsistency
ONE (1) No
Description
The specific Cassandra replica or the number of Cassandra replicas that must process
a query in order for the query to be considered successful.
Select one of the following settings, or set the key to the number corresponding to the
desired setting:
l ANY (0)
l ONE (1)
l TWO (2)
l THREE (3)
l QUORUM (4)
l ALL (5)
l LOCAL_QUORUM (6)
l EACH_QUORUM (7)
l LOCAL_ONE (10)
These settings correspond to the consistency levels available in Cassandra. For
detailed information about each consistency level, see Configuring data consistency in
the Apache Cassandra 2.0 documentation:
http://www.datastax.com/documentation/cassandra/2.0/cassandra/dml/dml_config_
consistency_c.html.
Use SQL_WVARCHAR For String Data Types
Key Name Default Value Required
UseSqlWVarchar
Clear (0) No
Description
This option specifies how text and varchar types are mapped to SQL.
www.datastax.com
55
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
l Enabled (1): The Cassandra text and varchar types are mapped to SQL_
WVARCHAR.
l Disabled (0):The Cassandra text and varchar types are mapped to SQL_
VARCHAR.
User Name
Key Name Default Value Required
UID
None Yes, if the authentication
mechanism is User
Name And Password (1).
Description
The user name that you use to access the Cassandra server.
Virtual Table Name Separator
Key Name Default Value Required
VTTableNameSeparator _vt_
No
Description
The separator for naming a virtual table built from a collection.
The name of a virtual table consists of the name of the original table, then the
separator, and then the name of the collection.
For example:
OriginalTable_vt_CollectionName
Whitelist Datacenter Hosts
Key Name Default Value Required
WhitelistDatacenterFilteringHosts
None No
www.datastax.com
56
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
Description
The addresses or names of the datacenter hosts in the Cassandra cluster you wish to
connect to. Each name or addresses should be entered in quotation marks, separated
by a comma.
For example:"datacenter1","datacenter2".
Whitelist Hosts
Key Name Default Value Required
WhitelistFilteringHosts
None No
Description
The IPaddresses of data store hosts in the Cassandra cluster you wish to connect to.
Each IPaddresses should be entered in quotation marks, separated by a comma.
For example:"1.2.3.4","5.6.7.8".
Configuration Options Having Only Key Names
The following configuration options do not appear in the Windows user interface for the
DataStax ODBC driver for Apache Cassandra and DataStax Enterprise with CQL
connector. They are accessible only when you use a connection string or configure a
connection on macOS or Linux.
l Cached Rows Limit on page 58
l Concurrent Requests on page 58
l Core Connections Per Host on page 58
l Default Column Scale on page 59
l Disable Decimal Padding on page 59
l Driver on page 60
l Enable Asynchronous Writes on page 60
l Enable Joins on page 60
l Insert Query Threads on page 61
l IO Threads on page 61
l Iterations Per Insert Thread on page 61
l Maximum Concurrent Connections on page 61
l Maximum Concurrent Requests on page 62
www.datastax.com
57
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
l Maximum Connections Per Host on page 62
l Maximum Requests Per Flush on page 62
l Pending Requests High Water Mark on page 63
l Pending Requests Low Water Mark on page 63
l Queue Size Event on page 63
l Queue Size IO on page 64
l Write Bytes High Water Mark on page 65
l Write Bytes Low Water Mark on page 65
The UseLogPrefix property must be configured as a Windows Registry key value,
or as a driver-wide property in the datastax.cassandraodbc.ini file for macOS
or Linux.
l UseLogPrefix on page 64
Cached Rows Limit
Key Name Default Value Required
CachedRowsLimit 5000
No
Description
The maximum number of rows that the driver caches before forcing a flush.
Concurrent Requests
Key Name Default Value Required
NumConcurrentRequests 100
No
Description
The number of concurrent requests per insertion thread.
Core Connections Per Host
Key Name Default Value Required
CoreConnectionsPerHost 1
No
www.datastax.com
58
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
Description
The number of connections that the driver makes to each server in each IO thread.
Default Column Scale
Key Name Default Value Required
DefaultColumnScale 10
No
Description
The default scale used for decimal columns.
Disable Decimal Padding
Key Name Default Value Required
DisableDecimalPadding
Clear (0) No
Description
This option specifies whether to disable decimal padding.
l Enabled (1): The driver disables decimal padding, and fits the decimal scale to
the input parameter's scale, on a per-row basis.
l Trailing zeroes are discarded. For example, 1.500 is inserted as 1.5.
l Values with a scale that is greater than the default column scale are
truncated. For example, if the default column scale is 3 and the value is
1.5557, the value is inserted as 1.555.
l Disabled (0): The driver uses decimal padding.
To set the default decimal column scale, see Default Column Scale on page 59.
www.datastax.com
59
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
Driver
Key Name Default Value Required
Driver
when installed on
Windows, or the absolute
path of the driver shared
object file when installed
on a non-Windows
machine.
Yes
Description
On Windows, the name of the installed driver.
On other platforms, the name of the installed driver as specified in odbcinst.ini, or
the absolute path of the driver shared object file.
Enable Asynchronous Writes
Key Name Default Value Required
EnableAsynchronousWrites
Selected (1) No
Description
This option specifies whether to enable asynchronous database write.
l Enabled (1): The driver allows asynchronous database writes.
l Disabled (0): The driver does not allow asynchronous writes.
Enable Joins
Key Name Default Value Required
EnableJoins
Clear (0) No
Description
This option specifies whether SQL joins are allowed.
www.datastax.com
60
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
l Enabled (1): The driver allows joins, and executes SQL queries that contain
them.
l Disabled (0): The driver does not allow joins. If a SQL query that contains a join
is submitted, the driver returns an error.
Insert Query Threads
Key Name Default Value Required
NumInsertQueryThreads 2
No
Description
The number of insert query threads.
Iterations Per Insert Thread
Key Name Default Value Required
NumIterationsPerInsertThread 50
No
Description
The number of iterations for each insert query thread.
IO Threads
Key Name Default Value Required
NumThreadsIO 1
No
Description
The number of IO threads, that is, the number of threads that handle query requests.
Maximum Concurrent Connections
Key Name Default Value Required
MaxConcurrentCreation 1
No
www.datastax.com
61
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
Description
The maximum number of connections that can exist concurrently.
A new connection is created when the existing connections are unable to keep up with
request throughput.
Maximum Concurrent Requests
Key Name Default Value Required
MaxConcurrentRequestsThreshold 100
No
Description
The maximum number of concurrent requests that can exist on a connection before the
driver creates a new connection.
Note:
If the number of connections has reached the Maximum Connections Per Host
value, a new connection is not created.
Maximum Connections Per Host
Key Name Default Value Required
MaxConnectionsPerHost 2
No
Description
The maximum number of connections that the driver makes to each server in each IO
thread.
A new connection is created when the existing connections are unable to keep up with
request throughput.
Maximum Requests Per Flush
Key Name Default Value Required
MaxRequestsPerFlush 128
No
www.datastax.com
62
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
Description
The maximum number of requests processed by an IO worker per flush.
Pending Requests High Water Mark
Key Name Default Value Required
PendingRequestsHighWaterMark 256
No
Description
The high water mark for the number of requests that can be queued for a connection in
a connection pool.
If the number of queued requests exceeds this value, the driver disables writes to a
host on an IO worker until the number of queued requests drops below the low water
mark.
Pending Requests Low Water Mark
Key Name Default Value Required
PendingRequestsLowWaterMark 128
No
Description
The low water mark for the number of requests queued for a connection in a
connection pool.
If the number of queued requests exceeds the high water mark value (see Pending
Requests High Water Mark on page 63), the driver disables writes to a host on an IO
worker until the number of queued requests drops below this value.
Queue Size Event
Key Name Default Value Required
QueueSizeEvent 8192
No
www.datastax.com
63
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
Description
The size of the fixed-size queue that stores events.
Queue Size IO
Key Name Default Value Required
QueueSizeIO 8192
No
Description
The size of the fixed-size queue that stores pending requests.
UseLogPrefix
Key Name Default Value Required
UseLogPrefix 0
No
Description
This option specifies whether the driver includes a prefix in the names of log files so
that the files can be distinguished by user and application.
Important:
To configure this option for the Windows driver, you create a value for it in one of
the following registry keys:
l For a 32-bit driver installed on a 64-bit machine:HKEY_LOCAL_
MACHINE\SOFTWARE\Wow6432Node\DataStax\DataStax ODBC driver for Apache
Cassandra and DataStax Enterprise with CQL connector\Driver
l Otherwise: HKEY_LOCAL_MACHINE\SOFTWARE\DataStax\DataStax ODBC driver for
Apache Cassandra and DataStax Enterprise with CQL connector\Driver
Use UseLogPrefix as the value name, and either 0 or 1 as the value data.
To configure this option for a non-Windows driver, you must use the
datastax.cassandraodbc.ini file.
Set the property to one of the following values:
www.datastax.com
64
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
l 1: The driver prefixes log file names with the user name and process ID
associated with the connection that is being logged.
For example, if you are connecting as a user named "jdoe" and using the driver
in an application with process ID 7836, the generated log files would be named
jdoe_7836_[DriverName]_driver.log and jdoe_7836_
[DriverName]_connection_[Number].log, where [Number] is a number
that identifies each connection-specific log file.
l 0: The driver does not include the prefix in log file names.
Write Bytes High Water Mark
Key Name Default Value Required
WriteBytesHighWaterMark 65536
No
Description
The high water mark for the number of bytes that can be outstanding on a connection.
If the number of bytes outstanding on a connection exceeds this value, the driver
disables writes to a host on an IO worker until the number of outstanding bytes drops
below the low water mark.
Write Bytes Low Water Mark
Key Name Default Value Required
WriteBytesLowWaterMark 32768
No
Description
The low water mark for the number of bytes that can be outstanding on a connection.
If the number of bytes outstanding on a connection exceeds the high water mark (see
Write Bytes High Water Mark on page 65), the driver disables writes to a host on an IO
worker until the number of outstanding bytes drops below this value.
www.datastax.com
65
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
Contact Us
If you have difficulty using the driver, please contact our Support staff.
For information about contacting Support, go to http://www.datastax.com/what-we-
offer/products-services/support
www.datastax.com
66
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
Third-Party Trademarks
Linux is the registered trademark of Linus Torvalds in Canada, United States and/or
other countries.
Microsoft, MSDN, Windows, Windows Server, Windows Vista, and the Windows start
button are trademarks or registered trademarks of Microsoft Corporation or its
subsidiaries in Canada, United States and/or other countries.
Red Hat, RedHat Enterprise Linux, and CentOS are trademarks or registered
trademarks of Red Hat, Inc. or its subsidiaries in Canada, United States and/or other
countries.
SUSE is a trademark or registered trademark of SUSELLC or its subsidiaries in
Canada, United States and/or other countries.
Apache Cassandra, Apache, and Cassandra are trademarks of The Apache Software
Foundation or its subsidiaries in Canada, the United States and/or other countries.
All other trademarks are trademarks of their respective owners.
www.datastax.com
67
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
Third-Party Licenses
The licenses for the third-party libraries that are included in this product are listed
below.
Boost Software License - Version 1.0 - August 17th, 2003
Permission is hereby granted, free of charge, to any person or organization obtaining a
copy of the software and accompanying documentation covered by this license (the
"Software") to use, reproduce, display, distribute, execute, and transmit the Software,
and to prepare derivative works of the Software, and to permit third-parties to whom the
Software is furnished to do so, all subject to the following:
The copyright notices in the Software and this entire statement, including the above
license grant, this restriction and the following disclaimer, must be included in all
copies of the Software, in whole or in part, and all derivative works of the Software,
unless such copies or derivative works are solely in the form of machine-executable
object code generated by a source language processor.
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, TITLE AND
NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR
ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE FOR ANY DAMAGES OR
OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
dtoa License
The author of this software is David M. Gay.
Copyright (c) 1991, 2000, 2001 by Lucent Technologies.
Permission to use, copy, modify, and distribute this software for any purpose without
fee is hereby granted, provided that this entire notice is included in all copies of any
software which is or includes a copy or modification of this software and in all copies of
the supporting documentation for such software.
THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR
IMPLIED WARRANTY. IN PARTICULAR, NEITHER THE AUTHOR NOR LUCENT
MAKES ANY REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING
THE MERCHANTABILITY OF THIS SOFTWARE OR ITS FITNESS FOR ANY
PARTICULAR PURPOSE.
www.datastax.com
68
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
Expat License
Copyright (c) 1998, 1999, 2000 Thai Open Source Software Center Ltd
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
NOINFRINGEMENT. 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.
ICU License - ICU 1.8.1 and later
COPYRIGHT AND PERMISSION NOTICE
Copyright (c) 1995-2014 International Business Machines Corporation and others
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, and/or sell copies of the Software, and to permit persons to whom
the Software is furnished to do so, provided that the above copyright notice(s) and this
permission notice appear in all copies of the Software and that both the above
copyright notice(s) and this permission notice appear in supporting documentation.
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 OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE
COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE
FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES,
OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
www.datastax.com
69
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
Except as contained in this notice, the name of a copyright holder shall not be used in
advertising or otherwise to promote the sale, use or other dealings in this Software
without prior written authorization of the copyright holder.
All trademarks and registered trademarks mentioned herein are the property of their
respective owners.
libuv License
libuv is part of the Node project: http://nodejs.org/
libuv may be distributed alone under Node's license:
Copyright Joyent, Inc. and other Node 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.
This license applies to all parts of libuv that are not externally maintained libraries.
The externally maintained libraries used by libuv are:
- tree.h (from FreeBSD), copyright Niels Provos. Two clause BSD license.
- ngx_queue.h (from Nginx), copyright Igor Sysoev. Two clause BSD license.
- inet_pton and inet_ntop implementations, contained in src/inet.c, are copyright
the Internet Systems Consortium, Inc., and licensed under the ISC license.
www.datastax.com
70
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
- stdint-msvc2008.h (from msinttypes), copyright Alexander Chemeris. Three
clause BSD license.
OpenSSL License
Copyright (c) 1998-2016 The OpenSSL Project. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are
permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of
conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list
of conditions and the following disclaimer in the documentation and/or other
materials provided with the distribution.
3. All advertising materials mentioning features or use of this software must display
the following acknowledgment:
"This product includes software developed by the OpenSSL Project for use in the
OpenSSL Toolkit. (http://www.openssl.org/)"
4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
endorse or promote products derived from this software without prior written
permission. For written permission, please contact openssl-core@openssl.org.
5. Products derived from this software may not be called "OpenSSL" nor may
"OpenSSL" appear in their names without prior written permission of the
OpenSSL Project.
6. Redistributions of any form whatsoever must retain the following
acknowledgment:
"This product includes software developed by the OpenSSL Project for use in the
OpenSSL Toolkit (http://www.openssl.org/)"
THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT "AS IS" AND ANY
EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL
PROJECT OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) 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 OF
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
www.datastax.com
71
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
This product includes cryptographic software written by Eric Young
(eay@cryptsoft.com). This product includes software written by Tim Hudson
(tjh@cryptsoft.com).
Original SSLeay License
Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
All rights reserved.
This package is an SSL implementation written by Eric Young (eay@cryptsoft.com).
The implementation was written so as to conform with Netscapes SSL.
This library is free for commercial and non-commercial use as long as the following
conditions are aheared to. The following conditions apply to all code found in this
distribution, be it the RC4, RSA, lhash, DES, etc., code; not just the SSL code. The
SSL documentation included with this distribution is covered by the same copyright
terms except that the holder is Tim Hudson (tjh@cryptsoft.com).
Copyright remains Eric Young's, and as such any Copyright notices in the code are not
to be removed. If this package is used in a product, Eric Young should be given
attribution as the author of the parts of the library used. This can be in the form of a
textual message at program startup or in documentation (online or textual) provided
with the package.
Redistribution and use in source and binary forms, with or without modification, are
permitted provided that the following conditions are met:
1. Redistributions of source code must retain the copyright notice, this list of
conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list
of conditions and the following disclaimer in the documentation and/or other
materials provided with the distribution.
3. All advertising materials mentioning features or use of this software must display
the following acknowledgement:
"This product includes cryptographic software written by Eric Young
(eay@cryptsoft.com)"
The word 'cryptographic' can be left out if the rouines from the library being used
are not cryptographic related :-).
4. If you include any Windows specific code (or a derivative thereof) from the apps
directory (application code) you must include an acknowledgement:
"This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND ANY EXPRESS
OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
www.datastax.com
72
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 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 OF THIS SOFTWARE, EVEN IF
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
The licence and distribution terms for any publically available version or derivative of
this code cannot be changed. i.e. this code cannot simply be copied and put under
another distribution licence [including the GNU Public Licence.]
Stringencoders License
Copyright 2005, 2006, 2007
Nick Galbreath -- nickg [at] modp [dot] com
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are
permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of
conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list
of conditions and the following disclaimer in the documentation and/or other
materials provided with the distribution.
Neither the name of the modp.com nor the names of its contributors may be used
to endorse or promote products derived from this software without specific prior
written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
www.datastax.com
73
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
This is the standard "new" BSD license:
http://www.opensource.org/licenses/bsd-license.php
Apache License, Version 2.0
The following notice is included in compliance with the Apache License, Version 2.0
and is applicable to all software licensed under the Apache License, Version 2.0.
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction, and
distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by the copyright
owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all other entities that
control, are controlled by, or are under common control with that entity. For the
purposes of this definition, "control" means (i) the power, direct or indirect, to
cause the direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding
shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity exercising permissions
granted by this License.
"Source" form shall mean the preferred form for making modifications, including
but not limited to software source code, documentation source, and configuration
files.
"Object" form shall mean any form resulting from mechanical transformation or
translation of a Source form, including but not limited to compiled object code,
generated documentation, and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or Object form,
made available under the License, as indicated by a copyright notice that is
www.datastax.com
74
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
included in or attached to the work (an example is provided in the Appendix
below).
"Derivative Works" shall mean any work, whether in Source or Object form, that
is based on (or derived from) the Work and for which the editorial revisions,
annotations, elaborations, or other modifications represent, as a whole, an
original work of authorship. For the purposes of this License, Derivative Works
shall not include works that remain separable from, or merely link (or bind by
name) to the interfaces of, the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including the original version
of the Work and any modifications or additions to that Work or Derivative Works
thereof, that is intentionally submitted to Licensor for inclusion in the Work by the
copyright owner or by an individual or Legal Entity authorized to submit on behalf
of the copyright owner. For the purposes of this definition, "submitted" means any
form of electronic, verbal, or written communication sent to the Licensor or its
representatives, including but not limited to communication on electronic mailing
lists, source code control systems, and issue tracking systems that are managed
by, or on behalf of, the Licensor for the purpose of discussing and improving the
Work, but excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of
whom a Contribution has been received by Licensor and subsequently
incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of this License,
each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-
charge, royalty-free, irrevocable copyright license to reproduce, prepare
Derivative Works of, publicly display, publicly perform, sublicense, and distribute
the Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of this License, each
Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-
charge, royalty-free, irrevocable (except as stated in this section) patent license
to make, have made, use, offer to sell, sell, import, and otherwise transfer the
Work, where such license applies only to those patent claims licensable by such
Contributor that are necessarily infringed by their Contribution(s) alone or by
combination of their Contribution(s) with the Work to which such Contribution(s)
was submitted. If You institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution
incorporated within the Work constitutes direct or contributory patent
infringement, then any patent licenses granted to You under this License for that
Work shall terminate as of the date such litigation is filed.
www.datastax.com
75
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
4. Redistribution. You may reproduce and distribute copies of the Work or
Derivative Works thereof in any medium, with or without modifications, and in
Source or Object form, provided that You meet the following conditions:
(a) You must give any other recipients of the Work or Derivative Works a
copy of this License; and
(b) You must cause any modified files to carry prominent notices stating that
You changed the files; and
(c) You must retain, in the Source form of any Derivative Works that You
distribute, all copyright, patent, trademark, and attribution notices from the
Source form of the Work, excluding those notices that do not pertain to
any part of the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its distribution, then
any Derivative Works that You distribute must include a readable copy of
the attribution notices contained within such NOTICE file, excluding those
notices that do not pertain to any part of the Derivative Works, in at least
one of the following places: within a NOTICE text file distributed as part of
the Derivative Works; within the Source form or documentation, if
provided along with the Derivative Works; or, within a display generated
by the Derivative Works, if and wherever such third-party notices normally
appear. The contents of the NOTICE file are for informational purposes
only and do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside or as an
addendum to the NOTICE text from the Work, provided that such
additional attribution notices cannot be construed as modifying the
License.
You may add Your own copyright statement to Your modifications and may
provide additional or different license terms and conditions for use, reproduction,
or distribution of Your modifications, or for any such Derivative Works as a whole,
provided Your use, reproduction, and distribution of the Work otherwise complies
with the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise, any
Contribution intentionally submitted for inclusion in the Work by You to the
Licensor shall be under the terms and conditions of this License, without any
additional terms or conditions. Notwithstanding the above, nothing herein shall
supersede or modify the terms of any separate license agreement you may have
executed with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade names,
trademarks, service marks, or product names of the Licensor, except as required
www.datastax.com
76
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
for reasonable and customary use in describing the origin of the Work and
reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing,
Licensor provides the Work (and each Contributor provides its Contributions) 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. You are solely responsible for determining
the appropriateness of using or redistributing the Work and assume any risks
associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory, whether in tort
(including negligence), contract, or otherwise, unless required by applicable law
(such as deliberate and grossly negligent acts) or agreed to in writing, shall any
Contributor be liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a result of this
License or out of the use or inability to use the Work (including but not limited to
damages for loss of goodwill, work stoppage, computer failure or malfunction, or
any and all other commercial damages or losses), even if such Contributor has
been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing the Work or
Derivative Works thereof, You may choose to offer, and charge a fee for,
acceptance of support, warranty, indemnity, or other liability obligations and/or
rights consistent with this License. However, in accepting such obligations, You
may act only on Your own behalf and on Your sole responsibility, not on behalf of
any other Contributor, and only if You agree to indemnify, defend, and hold each
Contributor harmless for any liability incurred by, or claims asserted against, such
Contributor by reason of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following boilerplate notice,
with the fields enclosed by brackets "[]" replaced with your own identifying
information. (Don't include the brackets!) The text should be enclosed in the
appropriate comment syntax for the file format. We also recommend that a file or
class name and description of purpose be included on the same "printed page" as
the copyright notice for easier identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License"); you may not
use this file except in compliance with the License. You may obtain a copy of
the License at
http://www.apache.org/licenses/LICENSE-2.0
www.datastax.com
77
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide
Unless required by applicable law or agreed to in writing, software distributed
under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
This product includes software that is licensed under the Apache License, Version 2.0
(listed below):
DataStax C/C++ Driver for Apache Cassandra License
Copyright © 2014-2015 DataStax
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under
the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
CONDITIONS OF ANY KIND, either express or implied. See the License for the
specific language governing permissions and limitations under the License.
www.datastax.com
78
DataStax ODBC driver for Apache Cassandra
and DataStax Enterprise with CQL connector
Install Guide