Powered by Zoomin Software. For more details please contactZoomin

DataDirect ODBC ReadMe

Apache Cassandra ODBC 8.0.0 UNIX

  • Last Updated: May 8, 2026
  • 13 minute read
    • OpenAccess SDK
    • Documentation

     README
     Progress(R) DataDirect(R)
     Progress(R) DataDirect(R) for ODBC for Apache Cassandra(TM)

     UNIX and Linux Platforms(32- and 64-bit) 

     Release 8.0.0 
     February 2026


***********************************************************************
Copyright (C) 2026 Progress Software Corporation and/or its 
subsidiaries or affiliates. All Rights Reserved.

***********************************************************************

This README file contains information for Progress(R) DataDirect(R)  
for ODBC for Apache Cassandra(TM) Driver. 

This README file contains information not included in the PROGRESS
DATADIRECT(R) FOR ODBC FOR APACHE CASSANDRA DRIVER USER'S GUIDE AND REFERENCE.


CONTENTS

Post-GA Product Announcements
Driver Requirements
Installation Directory
Changes Since 8.0.0 Release 
Release 8.0.0 Features
Required Operating System Patches
Configuring Data Sources
Notes, Known Problems, and Restrictions
Driver WorkAround Options
Documentation 
Installed Files for 32-bit Drivers
Installed Files for 64-bit Drivers


   Post-GA Product Announcements

The readme files will no longer be updated with product announcements and new 
features after the General Availability (GA) of the product. For the latest 
updates and enhancements, please refer to the release notes 
(https://www.progress.com/datadirect-connectors/whats-new).


    Driver Requirements

* The driver requires one of the following Java Virtual Machines (JVM):

  - Oracle JDK 8 or higher (LTS version)

  - OpenJDK 8 or higher (LTS version)

  - IBM SDK (Java) 8 or higher (LTS version)

  Also,you must set the library path environment variable of your operating 
  system to the directory containing your JVM's libjvm.so [sl | a] file and that
  directory's parent directory. 

* The driver requires the following runtime libraries:

  - AIX: C/C++ runtime libraries version 16.1 or higher
  - Linux: C/C++ runtime libraries version GCC 2.12 or higher
  - Solaris: C/C++ runtime libraries version 12.6 or higher 

       
    Installation Directory 
       
* The default installation directory for the 32-bit driver is:

  /opt/Progress/DataDirect/ODBC_32bit

* The default installation directory for the 64-bit driver is:

  /opt/Progress/DataDirect/ODBC_64bit


    Data Source and Platform Support

For the latest data source and platform support information, refer to the 
Product Compatibility Guide: 
https://docs.progress.com/bundle/datadirect-product-compatibility/resource/
datadirect-product-compatibility.pdf  


   Changes Since 8.0.0 Release 
     
CVE-2022-41853 - Use of Externally-Controlled Input to Select Classes or Code 
('Unsafe Reflection')
-----------------------------------------------------------------------------
Several Progress DataDirect ODBC drivers utilized a version of HyperSQL 
Database that was vulnerable to remote code execution described in 
CVE-2022-41853.  All impacted drivers have been patched to fix this 
vulnerability.  For details on impacted drivers and fixed versions, refer to 
the following KB article: 
https://community.progress.com/s/article/DataDirect-ODBC-Critical-Security-
Bulletin-November-2022-CVE-2022-41853	 
	 
Documentation
-------------
Any product package made available after February 9, 2021 will not include the
HTML help system or user's guide PDF. The full documentation set, including
these items, is available from the Progress Information Hub:
https://docs.progress.com/category/datadirect-apache-cassandra

While the product packages will not include these documentation items, the
installation Help directory will provide an HTML redirect for direct access
to the HTML help.

Note that all Progress DataDirect for ODBC documentation has been migrated to
the Progress Information Hub:
https://docs.progress.com/
  
Enhancements
------------
* The driver binaries now include debugging symbols that can be used 
  for diagnosing and debugging issues in the driver.

* The ICU library files that are installed with the product have been upgraded 
  to version 74.1. As a part of this upgrade, the following platforms and their
  file names have been updated:
  
  - AIX platforms
	- 32-bit driver: From libivicu28.a to libivicu.a
	- 64-bit driver: From libddicu28.a to libddicu.a 
  Note - This upgrade is available starting in build 08.02.1072 of the ICU 
  library files.
	
  - Linux platforms
	- 32-bit driver: From libivicu28.so to libivicu.so
	- 64-bit driver: From libddicu28.so to libddicu.so
  Note - This upgrade is available starting in build 08.02.0965 of the ICU 
  library files.
	
  - Solaris platforms (Sparc and Solaris X)
	- 32-bit driver: From libivicu28.so to libivicu.so
	- 64-bit driver: From libddicu28.so to libddicu.so
  Note - This upgrade is available starting in build 08.02.1799 of the ICU 
  library files.	
	 
  As part of the ICU 74.1 upgrade, the complier and runtime versions for the 
  driver have been changed to the following:
  
  - For AIX platforms, the compiler version has been upgraded to xlclang++ 16.1.
    As a result, you must have C/C++ runtime libraries of 16.1 or higher on
	your machine. 

  - For Linux platforms, the compiler version has been upgraded to GCC 7.3.1. 
    As a result, you must have C/C++ runtime libraries of GCC 2.12 or higher 
	on your machine. 
	
  - For Solaris platforms, the compiler version has been upgraded to Oracle 
    Developer Studio 12.6. As a result, you must have C/C++ runtime libraries 
	of 12.6 or higher on your machine. 

* The installer program now requires you to install a JRE that is Java SE 11 or
  higher before running the installer. In earlier versions, the JRE used by the
  installer program was included in the product. However, to avoid potential
  security vulnerabilities, the installer program no longer includes a JRE.
  Instead, the installer program uses the JRE in your environment to allow for
  the most secure version of a JRE to be used.
 
  Notes:
  - This change does not affect the JVM requirements for the driver. For the latest 
    driver requirements, refer to the Product Compatibility Guide:
    https://docs.progress.com/bundle/datadirect-product-compatibility/resource/
    datadirect-product-compatibility.pdf
  - The installer program cannot remove the already installed JRE files from the 
    install directory automatically. Remove them manually.


* The installer program has been enhanced to use a more modern and
  secure technology. As a result of this enhancement:

  * The default installation location has been changed to:

    - For the 32-bit driver:
      /opt/Progress/DataDirect/ODBC_32bit

    - For the 64-bit driver:
      /opt/Progress/DataDirect/ODBC_64bit

  * The new installer program does not support upgrading installations 
    made with earlier versions of the installer. You will need to 
    uninstall the existing installation and reinstall with the new 
    installer to resume upgrades in the same directory.

  * The existing data sources cannot be used until they are 
    updated to point to the new installation location. To learn 
    how to update them, refer to the best practices documented 
    at https://community.progress.com/s/.

* A Password Encryption Tool, called ddencpwd, is now included with the product
  package. It encrypts passwords for secure handling in connection strings and
  odbc.ini files. At connection, the driver decrypts these passwords and passes
  them to the data source as required.

* The driver has been enhanced to allow you to configure how collections are 
  mapped in the relational view of your data. By configuring the new 
  SchemaFormat config option, you can determine whether the driver normalizes 
  collections and collections labeled FROZEN. Refer to "Config Options" in 
  the User's Guide for more information. 
  
* The driver has been enhanced to support connection failover and client load
  balancing when connecting to a cluster. You can enable this new functionality
  by specifying a comma-separated list of member nodes using the new Cluster 
  Nodes (ClusterNodes) connection option.
  Available in driver version 08.00.0216 (B0706, U0505, J000324)

* The drivers using base version B0649 and later have been enhanced to 
  include timestamp in the internal packet logs by default. If you want to
  disable the timestamp logging in packet logs, set PacketLoggingOptions=1.
  The internal packet logging is not enabled by default. To enable it, 
  set EnablePacketLogging=1.

* The driver has been enhanced to support the Duration data type, which maps
  to the SQL_VARCHAR ODBC type. Currently, the Duration type is supported only 
  in simple columns, and not in Collection types.   

* The Driver Manager for UNIX/Linux has been enhanced to support setting the 
  Unicode encoding type for applications on a per connection basis. By passing
  a value for the SQL_ATTR_APP_UNICODE_TYPE attribute using SQLSetConnectAttr, 
  your application can specify the encoding at connection. This allows your 
  application to pass both UTF-8 and UTF-16 encoded strings with a single 
  environment handle. 

  The valid values for the SQL_ATTR_APP_UNICODE_TYPE attribute are 
  SQL_DD_CP_UTF8 and SQL_DD_CP_UTF16. The default value is SQL_DD_CP_UTF8.

  This enhancement is available in build 08.02.0449 of the driver manager.

* The driver has been enhanced to support all the data consistency levels for 
  read and write operations that are supported by Apache Cassandra data stores. 
  Data consistency levels are configured using the Read Consistency and Write 
  Consistency connection options. Refer to the user's guide and reference for
  descriptions of these options.

Changed Behavior
----------------
* The product package no longer includes the ODBC Cursor library file 
  (odbccurs.so) because it has some known security vulnerabilities that 
  could potentially expose you to security risks.

  Note: The installer program cannot remove the ODBC Cursor library file 
  automatically while installing a new version of the driver. Remove it 
  manually.

* The installer program has been updated to no longer install common components 
  for drivers that do not use them. As a result, the installer program no longer 
  installs the following common components for the Apache Cassandra driver: 

  - OpenSSL library files, such as ivopenssl30.so, ddopenssl30.so, fips.so, and 
    openssl.cnf.
  - Curl library files, such as libivcurl28.so and libddcurl28.so. 

  If the files are not used by any other DataDirect driver on your machine, you 
  can safely remove them from existing product directories.  
  
   Release 8.0.0 Features  

The Progress DataDirect for ODBC for Apache Cassandra driver supports standard
SQL query language to select data from Apache Cassandra databases. In addition,
some insert, update, and delete capabilities are supported. The driver
translates the SQL statements provided by an application into native Cassandra
Query Language(CQL) statements, enabling you to leverage your knowledge 
of SQL.

Features:

* Certified against Apache Cassandra

* Certified against DataStax Enterprise
  
* Supports SQL read-write access to Apache Cassandra data sources.   

* Supports CQL Binary Protocol 

* The driver supports the core SQL-92 grammar.

* Support for all ODBC Core and Level 1 functions and some Level 1 and 
  Level 2 features. 

* Supports user id and password authentication. 

* Generates a relational view of Cassandra data. Tuple and user-defined types 
  are flattened into a relational parent table, while collection types are 
  mapped as relational child tables.
  
* Supports Native and Refresh escape sequences to embed CQL commands in 
  SQL-92 statements.

* Supports Cassandra's tunable consistency functionality with ReadConsistency
  and WriteConsistency connection options. 

* Supports the handling of large result sets through the FetchSize, 
  NativeFetchSize and ResultMemorySize connection options.

* Supports applications that do not support unbounded data types through
  the ASCIISize, DecimalPrecision, DecimalScale, VarintPrecision, and 
  VarcharSize connection options. 

* The driver supports the following data types:
  - ASCII       maps to SQL_VARCHAR
  - Bigint      maps to SQL_BIGINT
  - Blob        maps to SQL_LONGVARBINARY
  - Boolean     maps to SQL_BIT
  - Counter     maps to SQL_BIGINT
  - Date        maps to SQL_TYPE_DATE 
  - Decimal     maps to SQL_DECIMAL
  - Double      maps to SQL_DOUBLE
  - Float       maps to SQL_REAL
  - Inet        maps to SQL_VARCHAR
  - Int         maps to SQL_INTEGER
  - List        maps to SQL_WLONGVARCHAR
  - Map         maps to SQL_WLONGVARCHAR
  - Set         maps to SQL_WLONGVARCHAR
  - Smallint    maps to SQL_SMALLINT
  - Time        maps to SQL_TYPE_TIME
  - Timestamp   maps to SQL_TYPE_TIMESTAMP
  - TimeUUID    maps to SQL_CHAR
  - TINYINT     maps to SQL_TINYINT
  - TUPLE       maps to SQL_WLONGVARCHAR
  - USERTYPE    maps to SQL_WLONGVARCHAR
  - UUID        maps to SQL_CHAR
  - Varchar     maps to SQL_WVARCHAR
  - Varint      maps to SQL_DECIMAL

 
 Configuring Data Sources

Data sources are stored in the system information file (typically, 
odbc.ini). For details on configuring this file, see the PROGRESS DATADIRECT
FOR ODBC FOR APACHE CASSANDRA DRIVER USER'S GUIDE AND REFERENCE.
 
 
    Notes, Known Problems, and Restrictions 

The following are notes, known problems, and restrictions for the 
8.0 release of the driver:

Specifying values for the same connection option multiple times
--------------------------------------------------------------- 
The driver does not support specifying values for the same connection 
option multiple times in a connection string or DSN. If a value is 
specified using the same attribute multiple times or using both 
long and short attributes, the connection may fail or the driver may 
not behave as intended.

SQLColAttributes for Columns in Prepared Statements
---------------------------------------------------
SQLColAttributes currently returns the incorrect data types and searchability
for columns in prepared statements.

Row Counts for Semicolon Delimited Statement Batches
----------------------------------------------------
Contrary to the driver metadata returned, row counts for semicolon delimited 
statement batches are rolled up into a single value rather than being returned
for each explicit statement.

CURRENT OF Syntax Error 
-----------------------
Attempting to update data using a named cursor with the CURRENT OF cursor 
syntax currently returns an error.

Updates on Counter Columns
--------------------------
Update is supported for Counter columns only when all the other columns in the
row comprise that row's primary key. When updating a Counter column on an
existing row, the Counter column is updated according to the increment (or
decrement) specified in the SQL statement. When updating a Counter column for
which there is no existing row, the values of the columns that comprise the 
row's primary key are inserted into the table alongside the value of the 
Counter column. Note that Update is only supported using the native syntax. 

Out-of-memory Errors
--------------------
The driver has been designed to handle large result sets that result. However,
out-of-memory errors can occur. The following items outline how to reduce the
likelihood of out-of-memory errors for your environment.

* Reduce FetchSize to reduce demands on memory. By lowering the maximum number
  of rows as specified by FetchSize, you lower the number of rows the driver is
  required to process before returning data to the application. Thus, you 
  reduce demands on memory and decrease the likelihood of out-of-memory errors.

* Decrease ResultMemorySize until results are successfully returned. Intermediate
  results larger than the value specified will be written to disk as opposed to
  held in memory. When configured correctly, this avoids memory limitations by
  not relying on memory to process larger intermediate results. Be aware that
  while writing to disk reduces the risk of out-of-memory errors, it also
  negatively impacts performance. For optimal performance, decrease this value
  only to a size necessary to avoid errors. By default, ResultMemorySize is set
  to -1, which sets the maximum size of intermediate results held in memory to 
  a percentage of the max Java heap size. If you received errors using the 
  default configuration, use the max Java heap size divided by 4 as a starting
  point when tuning this option.

* Increase the JVM heap size. By increasing the max Java heap size, you increase
  the amount of data the driver can accumulate in memory and avoid 
  out-of-memory errors.

system.indexes collection
-------------------------
The driver hides the system.indexes collection, and tables containing the "
quot; character are hidden to prevent naming conflicts. oplog.rs system table --------------------- The driver hides the oplog.rs system table. ODBC Development on UNIX and Linux Platforms -------------------------------------------- All of the Release 8.0 Core Components (header files, etc.) needed for development of ODBC applications on UNIX and Linux are installed into the /include directory created by the product installer. Please read the notices.txt file in the installation directory for licensing information regarding the ODBC Core Components. Contact your Progress DataDirect representative if you have any questions. Developers using programming languages other than C++: The DataDirect ODBC Driver Manager is a C++ shared library. The ODBC Driver Manager can be used with any language that supports loading a C++ shared library; however, if you are using a programming language other than C++, you must take additional steps to ensure that the C++ libraries are initialized properly when loaded. If you are not using C++, consult your compiler documentation for instructions on using C++ shared libraries with your application. LANG Environment Setting on UNIX and Linux Platforms ---------------------------------------------------- A default installation of the product on UNIX and Linux assumes that the value of the LANG environment setting is en_US. If your locale is not set to en_US, the drivers may not return error messages properly. In this case, you must create a symbolic link in the <Install_Dir>/locale directory that has the same value as the LANG environment setting. This link must point to the <Install_Dir>/locale/en_US directory. SQLColAttribute(s) ------------------ The column attributes 1001 and 1002, which were assigned as DataDirect- specific attributes, were inadvertently used as system attributes by the Microsoft 3.0 ODBC implementation. Applications using those attributes must now use 1901 and 1902, respectively. SQL_C_NUMERIC ------------- Because of inconsistencies in the ODBC specification, users attempting to use SQL_C_NUMERIC parameters must set the precision and scale values of the corresponding structure and the descriptor fields in the Application Parameter Descriptor. For AIX Users ------------------------------ Some IBM AIX C compilers, such as xlc 3.1.4, do not support the use of C++ build binaries. C developers on AIX should consult their compiler documentation and verify that their AIX C compiler supports the use of C++ shared libraries or the application could be unstable. Driver WorkAround Options Progress DataDirect has included non-standard connection options (workarounds) for the driver that enable you to take full advantage of packaged ODBC-enabled applications requiring non-standard or extended behavior. Refer to the chapter "WorkAround options" in THE PROGRESS DATADIRECT FOR ODBC DRIVERS REFERENCE for a description of these options. Documentation PROGRESS DATADIRECT FOR ODBC FOR APACHE CASSANDRA DOCUMENTATION SET ------------------------------------------------------------------- The driver documentation set is available from the Progress Information Hub: https://docs.progress.com/category/datadirect-apache-cassandra You can access the online help system directly via the HTML redirect in the installation Help directory. Installed Files for the 32-bit Driver This file list assumes a full installation of the 32-bit driver and documentation. The installer copies the following files and subdirectories to the product installation directory, by default: /opt/Progress/DataDirect/ODBC_32bit: odbc.csh Setup script for C shell odbc.ini Sample odbc.ini file odbcinst.ini Sample odbcinst.ini file odbc.sh Setup script for Bourne shell IVODBC.LIC DataDirect license file fixes.txt List of fixes since last release license.txt End User License Agreement /bin: ivtestlib Test application to check that required libraries are present and loadable /help: *.html HTML redirects to online connector help systems and documentation resources /include: odbcinst.h Include files qesqlext.h sql.h sqlext.h sqltypes.h sqlucode.h sqlunx.h /java/lib: cassandra.jar Java components of the driver /lib: ivcsndr28.so DataDirect Driver for Apache Cassandra ivtrc28.so Progress DataDirect trace library libivicu.a Unicode conversion tables for AIX platforms libivicu.so Unicode conversion tables for Linux and Solaris platforms libodbc.so ODBC Driver Manager [.a on AIX] libodbcinst.so ODBC Installer [.a on AIX] odbc.so ODBC Driver Manager (dynamically loadable) [AIX only] odbcinst.so ODBC Installer (dynamically loadable) [AIX only] /locale/en_US/LC_MESSAGES: ivcsndr28.mo Apache Cassandra driver message file ivcsndr28.po Apache Cassandra driver message file source odbc.m ODBC Driver Manager message file odbc.po ODBC Driver Manager message source /NOTICES: ODBC for Apache Cassandra v8.0 notices.txt Third-party vendor license agreements /READMES: ODBC for Apache Cassandra v8.0 readme.txt This file /samples: /bulk/bulk Bulk application /bulk/bulk.c Bulk example source /bulk/bulk.mak Bulk example make file /bulk/bulk.txt Bulk example description /bulk/ddlogging.properties Log configuration file for the Cassandra driver /bulkstrm/bulk.cpp Bulk streaming example source /bulkstrm/bulk.hpp Bulk streaming example header /bulkstrm/bulkstrm Bulk streaming example application /bulkstrm/bulkstrm.txt Bulk streaming example description /bulkstrm/main.cpp Bulk streaming example source /bulkstrm/msgprintf.hpp Bulk streaming example header /bulkstrm/streambulk.mak Bulk streaming example make file /bulkstrm/ddlogging.properties Log configuration file for the Cassandra driver /example/example Example application /example/example.c Example source /example/example.h Example header /example/example.mak Example make file /example/ddlogging.properties Log configuration file for the Cassandra driver /tools: ddencpwd Password Encryption Tool ddextu License Extender utility ddprocinfo Processor Information utility /uninstall/*.* Files used to uninstall the product Installed Files for the 64-bit Driver This file list assumes a full installation of the 64-bit driver and documentation. The installer copies the following files and subdirectories to the product installation directory, by default: /opt/Progress/DataDirect/ODBC_64bit: odbc.csh Setup script for C shell odbc.ini Sample odbc.ini file odbcinst.ini Sample odbcinst.ini file odbc.sh Setup script for Bourne shell DDODBC.LIC DataDirect license file fixes.txt List of fixes since last release license.txt End User License Agreement /bin: ddtestlib Test application to check that required libraries are present and loadable /help: *.html HTML redirects to online connector help systems and documentation resources /include: odbcinst.h Include files qesqlext.h sql.h sqlext.h sqltypes.h sqlucode.h sqlunx.h /java/lib: cassandra.jar Java components of the driver /lib: ddcsndr28.so DataDirect Driver for Apache Cassandra ddtrc28.so Progress DataDirect trace library libddicu.a Unicode conversion tables for AIX platforms libddicu.so Unicode conversion tables for Linux and Solaris platforms libodbc.so ODBC Driver Manager [.a on AIX] libodbcinst.so ODBC Installer [.a on AIX] odbc.so ODBC Driver Manager (dynamically loadable) [AIX only] odbcinst.so ODBC Installer (dynamically loadable) [AIX only] /locale/en_US/LC_MESSAGES: ddcsndr28.mo Apache Cassandra driver message file ddcsndr28.po Apache Cassandra driver message file source odbc.m ODBC Driver Manager message file odbc.po ODBC Driver Manager message source /NOTICES: ODBC for Apache Cassandra v8.0 notices.txt Third-party vendor license agreements /READMES: ODBC for Apache Cassandra v8.0 readme.txt This file /samples: /bulk/bulk Bulk application /bulk/bulk.c Bulk example source /bulk/bulk.mak Bulk example make file /bulk/bulk.txt Bulk example description /bulk/ddlogging.properties Log configuration file for the Cassandra driver /bulkstrm/bulk.cpp Bulk streaming example source /bulkstrm/bulk.hpp Bulk streaming example header /bulkstrm/bulkstrm Bulk streaming example application /bulkstrm/bulkstrm.txt Bulk streaming example description /bulkstrm/main.cpp Bulk streaming example source /bulkstrm/msgprintf.hpp Bulk streaming example header /bulkstrm/streambulk.mak Bulk streaming example make file /bulkstrm/ddlogging.properties Log configuration file for the Cassandra driver /example/example Example application /example/example.c Example source /example/example.h Example header /example/example.mak Example make file /example/ddlogging.properties Log configuration file for the Cassandra driver /tools: ddencpwd Password Encryption Tool ddextu License Extender utility ddprocinfo Processor Information utility /uninstall/*.* Files used to uninstall the product ~~~~~~~~~~~~~~~~~ February 2026
TitleResults for “How to create a CRG?”Also Available inAlert