README
     Progress (R) DataDirect (R)	 
     Progress DataDirect for ODBC for Salesforce Driver

     UNIX and Linux Platforms (32- and 64-bit)
     8.0.0 Release
     February 2019


***********************************************************************
Copyright (C) 1990-2019 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 Salesforce(TM) Driver. 

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

CONTENTS

Driver Requirements
Installation Directory
Release 8.0.0 Features
Required Operating System Patches
Configuring Data Sources
Driver WorkAround Options
Notes, Known Problems, and Restrictions
Documentation
Installed Files for 32-bit Drivers
Installed Files for 64-bit Drivers
Documentation Third-party Acknowledgements 


    Driver Requirements

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

* Oracle JDK 7 or higher (LTS version)

* OpenJDK 8 or higher (LTS version)

* IBM SDK (Java) 7 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. 

For AIX users: Before you can use the driver, you must set the LIBPATH 
environment variable to include the paths containing the libjvm.so library 
and the libnio.so library, which are installed in a subdirectory of your 
Java Development Kit (JDK). For example, you would add the following paths
for Java 8 installed in the /usr directory:

/usr/java8/jre/lib/amd64/server:/usr/java8/jre/lib/amd64

In this example, /usr/java8/jre/lib/amd64/server is the location of 
libjvm.so, while /usr/java8/jre/lib/amd64 is the location of libnio.so.


    Installation Directory

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

  /opt/Progress/DataDirect/ODBC
  
  Note: If you do not have access to "/opt", your user's home
  directory will take the place of this directory. 

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

  /opt/Progress/DataDirect/ODBC_64bit
  
  Note: If you do not have access to "/opt", your user's home
  directory will take the place of this directory.
  
  
   Release 8.0.0 Features

Platform Deprecation
--------------------
The driver is not supported on HP-UX PA-RISC, Oracle Solaris SPARC 32-bit,
and Oracle Solaris x86 32-bit anymore.

Bulk Fetch Support
------------------
The driver has been enhanced to support the Salesforce Bulk API, including PK 
chunking, for bulk fetch operations. This functionality can be enabled and 
configured with the BulkFetchThreshold, EnableBulkFetch, EnablePKChunking,
and PKChunkSize connection options.

Support for Multiple Simultaneous Sessions
------------------------------------------
The driver has been enhanced to support multiple simultaneous sessions. This
allows the driver to scale performance by distributing the workload across 
multiple sessions. The number of active sessions should not exceed the number 
permitted by your Salesforce account and can be limited by the setting of the 
new WSPoolSize connection option. 

New Refresh Map SQL Extension
-----------------------------
REFRESH MAP discovers native objects that have been added to the native data
store since connection or since the last refresh and maps the objects into 
your relational view of native data. It also incorporates any configuration 
changes made to your relational view by reloading the schema definition and
associated files.

SQL Engine Mode Auto Setting 
---------------------------- 
The SQLEngineMode connection option now supports Auto mode. When this setting
is enabled, the driver automatically determines whether the SQL engine runs in 
server or direct mode based on availability. 

JVM Version Requirements
------------------------
The Salesforce driver has been updated to require a JVM that is
Java SE 7 or higher. This change has been implemented to remain compliant
with Salesforce security standards. See "Driver Requirements" for more
details on JVM.

SQL Engine Upgrade 
------------------
The driver's SQL engine has been upgraded. Consequently, there are some
differences in how the 8.0 driver handles SQL queries compared to previous
versions of the driver. For details, see the following resources:

* https://documentation.progress.com/output/DataDirect/collateral/
  odbc_salesforce_faq.pdf

* https://documentation.progress.com/output/DataDirect/collateral/
  odbc_salesforce_sqlengine.pdf

Performance Issues When Executing Queries
-----------------------------------------
The 8.0 driver pushes queries to Salesforce whenever possible. Queries that 
cannot be pushed to Salesforce with the 8.0 driver may be slower than 
comparable queries made with earlier versions of the driver because data may 
be paged to disk while completing an operation. If you experience slow 
performance, please contact Technical Support. Our team will quickly address 
any performance issues you encounter.

Evaluation Bulk Load Support
----------------------------
Bulk load operations are no longer restricted to 10,000 rows for evaluation 
installations of the driver.

Mapping of the Currency and Percentage Data Types
-------------------------------------------------
The native CURRENCY and PERCENTAGE data types now map to the DECIMAL JDBC data 
type. In earlier releases, these data types mapped to the DOUBLE data type. 

The Database Connection Option Replaced by SchemaMap   
----------------------------------------------------
The Database connection option has been replaced by the new SchemaMap option. 
Similar to Database, SchemaMap is used to specify the name and location of 
the configuration file where the relational map of native data is written; 
however, the value specified must now be an absolute path. In addition to this 
change, the default behavior differs between these options. The Database 
attribute will continue to be supported for this release, but it will be 
deprecated in subsequent versions of the product. 

CreateDB Connection Option Replaced by CreateMap
--------------------------------------------------------
The CreateDB connection option has been replaced by the new CreateMap
option. The CreateDB attribute will continue to be supported for this release,
but it will be deprecated in subsequent versions of the product.

LogonDomain Connection Option Deprecated
----------------------------------------
The LogonDomain connection option has been deprecated. As a result, 
the LogonID option has been updated to accept the user name and domain. 

RefreshDirtyCache Connection Option Deprecated
----------------------------------------------
The RefreshDirtyCache option has been deprecated. Now, for every fetch 
operation, the driver refreshes the cached object to pick up changes made to 
tables and rows. 

Default for the ServerPortNumber Connection Option
----------------------------------------------------
The default value for the ServerPortNumber connection option has been 
updated:
 * For the 32-bit driver, the default is 19938.
 * For the 64-bit driver, the default is 19937.
 
Default for the JVMArgs Connection Option 
------------------------------------------
The default value for the JVMArgs connection option has been updated:
 * For the 32-bit driver when the SQLEngineMode connection option is set to 
   2 (Direct): 
   -Xmx256m
 * For all other configurations:
   -Xmx1024m

Default Value for the EnableBulkLoad Connection Option
-------------------------------------------------------
The default value of the EnableBulkLoad connection option has been updated
to 1 (enabled). By default, the bulk load protocol can be used for 
inserts, updates, and deletes based on the BulkLoadThreshold option.    
   
Default Value for the StmtCallLimit Connection Option
------------------------------------------------------  
The default value for the StmtCallLimit connection option has been 
updated to 100. By default, the driver can make a maximum of 100 Web service 
calls when executing any single SQL statement or metadata query.  
   
Default Value for the AuditColumns Config Option 
------------------------------------------------   
The default value for the AuditColumns config option has been updated to 
All (AuditColumns=All). By default, the driver includes the all of the audit 
columns and the master record id column in its table definitions.    
   
Default Relational Mapping of Custom Objects
--------------------------------------------
The default value for the CustomSuffix config option has been updated to 
Include (CustomSuffix=Include). By default, the driver includes the "__c" suffix 
table and column names when mapping the remote data model to the relational
data model. 

Default Value for the MapSystemColumnNames
------------------------------------------
The default value for the MapSystemColumnNames config option has been updated to
0 (MapSystemColumnNames=0). By default, the driver does not change the names 
of the Salesforce system columns when mapping them to the relational model.

Short Attribute for the Config Options Connection Option 
--------------------------------------------------------
The short attribute name for the Config Options connection option has changed 
from CO to CFGO. 

UTF-8 Support in the odbc.ini and odbcinst.ini Files
----------------------------------------------------
The driver and Driver Manager have been enhanced to support UTF-8 encoding in 
the odbc.ini and odbcinst.ini files.


For more information about these features, refer to THE PROGRESS DATADIRECT FOR
ODBC FOR SALESFORCE DRIVER USER'S GUIDE AND REFERENCE.

 
    Required Operating System Patches

For HP-UX 11 aCC Users Only
---------------------------
The ODBC drivers for HP-UX 11 aCC are supported on HP-UX 11.0
when running with HP-UX applications built using the HP aCC 
compiler version 3.05 or higher.

The ODBC drivers require certain runtime library patches. HP-UX 
patches are publicly available from the HP Web site (www.hp.com). The 
required patch is:

PHSS_14577

HP updates the patch database regularly; therefore, the patch 
numbers in this file may be superseded by newer versions. If you 
search for any of the specified patches on an HP site and receive 
a message that a patch has been superseded, download and install 
the replacement patch.
 
 
      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 SALESFORCE DRIVER USER'S GUIDE AND REFERENCE.
 
 
      Driver WorkAround Options

Progress DataDirect has included non-standard connection options 
(workarounds) for the drivers 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
FOR SALESFORCE DRIVER USER'S GUIDE AND REFERENCE for a description of these 
options.
 
 
	Notes, Known Problems, and Restrictions 
  
Installer Behavior Changes
--------------------------
* The installer now installs the following JDKs on the respective platforms:
  
  * Windows (x32 and x64): OpenJDK 11
  * Linux (x64): OpenJDK 11
  * Linux (x32): Oracle JDK 8 

  Note: For all the platforms, except those mentioned in the above list, the 
  installer will not install any JDK. The client machine is required to have 
  Oracle JDK 8 or higher to run the installer.

* The new version of the installer installs OpenJDK 11 or Oracle JDK 8, and the
  old version of the installer installs Oracle JDK 7. As there is a difference 
  between the JDK versions installed by the new and the old installers, they are
  not allowed/supported to overwrite or augment installations done by each 
  other.

* Installing different versions of the driver in the same directory is not 
  supported.
  
Important Java Requirement Changes for Salesforce Security Updates
------------------------------------------------------------------
The Salesforce driver has been updated to require a JVM that is 
Java SE 7 or higher. This change is being implemented to comply with recent
revisions to Salesforce security standards. See "Driver Requirements" for
more details on JVM.

In keeping with best security practices, Salesforce will begin deprecating
support for the TLS 1.0 encryption protocol within inbound and outbound 
connections beginning June 25th, 2016. TLS 1.0 will initially be disabled in 
Sandbox instances, before being retired for all services in early 2017. 
To maintain compatibility with services after TLS 1.0 is disabled, the driver
must employ a JVM that allows TLS 1.0 to be disabled independently from other 
encryption protocols--functionality that was first introduced in Java SE 7.

By default, the driver uses the Java SE 7 version of the JVM that is installed
with the driver. If you designate a JVM that is Java SE 6 or earlier, 
the driver will return an error when attempting to establish a connection. To 
correct this issue, set the library path environment variable to the location 
of a supported JVM.

For more information on changes to the Salesforce security policy, refer to
https://help.salesforce.com/apex/HTViewSolution?id=000221207#Whatischange.

Stored Procedures with Database.com
------------------------------------
Stored procedures are not supported when connected to database.com using
the Salesforce driver. However, the Salesforce driver incorrectly returns 
a response to SQLGetInfo(..., SQL_PROCEDURES, ...) to indicate that stored 
procedures are supported when connected to database.com. 

SELECT...INTO Statement
------------------------
The SELECT...INTO statement is supported for local tables only. The source 
and destination tables must both be local tables. Creating remote tables 
in Salesforce or loading from remote Salesforce tables using SELECT...INTO 
is not supported. Additionally, the option to create the destination table 
as a temporary table does not currently work.
  
For SSL Users
-------------
When trying to connect to a database using SSL encryption, you may 
receive an error message similar to: "PRNG not seeded". This is because 
certain versions of some operating systems do not generate truly random 
numbers necessary for encryption. For more information about this error 
and available patches, please refer to the Web site:

http://www.openssl.org/support/faq.html#USER1

On SUSE Linux Enterprise Server 10.0, attempts by the drivers to 
connect using SSL Encryption will not succeed due to a problem loading 
the SSL libraries.  
  
ODBC Development on UNIX and Linux Platforms
--------------------------------------------
All of the Release 7.1 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 
/locale directory that has the same value as the LANG 
environment setting. This link must point to the 
/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.
 
SQLDriverConnect
----------------
SQLDriverConnect using options other than SQL_DRIVER_NOPROMPT is 
supported only on systems that include the Motif libraries 
libivmback.so or libddmback.so and vscnctdlg.so.
 
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.
 

     Documentation	 	 

THE PROGRESS DATADIRECT FOR ODBC FOR SALESFORCE DRIVER 
USER'S GUIDE AND REFERENCE
------------------------------------------------------
This guide is provided in PDF and HTML versions. Both versions are installed
in the SalesforceHelp subdirectory of your product installation directory. You 
can access the HTML version by opening the index.html file.

The complete documentation library is available on the Progress DataDirect 
Web site at https://www.progress.com/documentation/datadirect-connectors.


     Installed Files for the 32-bit Driver
	 
This file list assumes a full installation of all 32-bit drivers and 
documentation. 

The installer copies the following files and subdirectories to the 
product installation directory, by default:

/opt/Progress/DataDirect/ODBC:

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

/bin:
ivtestlib             Test application to check that required libraries
                      are present and loadable
/help: 
salesforce_connect.txt    Help text for the Salesforce driver 
                      SQLDriverConnect dialog 
/help/SalesforceHelp:
index.html            HTML help system entry file
*.*                   Support folders for the HTML help system

/include:
odbcinst.h            Include files
qesqlext.h
sql.h
sqlext.h
sqltypes.h
sqlucode.h
sqlunx.h

/java/lib:
sforce.jar            Java components for the Salesforce driver


/lib:
The following library files all have the extension .so, except when 
installed on HP-UX PA-RISC, in which case the extension is .sl.

ivsfrc28.so           Salesforce driver  
ivtrc28.so            Progress DataDirect trace library
libivicu28.so         Unicode conversion tables  [.a on AIX]
libivmback.so         SQLDriverConnect Motif library 
libivssl28.so	      SSL support file (OpenSSL library 
                      version 1.0.2g) [.a on AIX] 
libodbc.so            ODBC Driver Manager [.a on AIX]
libodbcinst.so        ODBC Installer [.a on AIX]
odbc.so               ODBC Driver Manager (dynamically loadable) 
                      [AIX only]
odbccurs.so           ODBC Cursor library 
odbcinst.so           ODBC Installer (dynamically loadable) 
                      [AIX only]
vscnctdlg.so          ODBC library for Motif operations

/OpenSSL/1.0.0r/libivssl27.so  SSL support file (OpenSSL library 
                               version 1.0.0r) [.a on AIX] 
/OpenSSL/1.0.2d/libivssl27.so  SSL support file (OpenSSL library 
                               version 1.0.2d) [.a on AIX] 
/OpenSSL/latest/libivssl27.so  SSL support file (OpenSSL library 
                               version 1.0.2g) [.a on AIX] 

/locale/en_US/LC_MESSAGES:
ivmbackw.mo           Motif library message file
ivmbackw.po           Motif library message source
ivmsfrc28.mo          Salesforce driver message file
ivsfrc28.po           Salesforce driver message file source
odbc.m                ODBC Driver Manager message file
odbc.po               ODBC Driver Manager message source


/NOTICES:
ODBC for Salesforce v8.0 notices.txt   Third-party vendor license agreements	


/READMES:
ODBC for Salesforce 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 Salesforce 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 
                                  Salesforce driver

/example/example                 Example application
/example/example.c               Example source
/example/example.h               Example header
/example/example.mak             Example make file
/example/example.txt             Example description
/example/ddlogging.properties    Log configuration file for the 
                                 Salesforce driver

/tools:
ddextu                    License Extender utility
ddprocinfo                Processor Information utility			  
          
		  
  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

/bin:
ddtestlib            Test application to check that required libraries
                     are present and loadable

/help: 
salesforce_connect.txt    Help text for the Salesforce driver 
                          SQLDriverConnect dialog 
/help/SalesforceHelp:
index.html           HTML help system entry file
*.*                  Support folders for the HTML help system

/include:
odbcinst.h            Include files
qesqlext.h
sql.h
sqlext.h
sqltypes.h
sqlucode.h
sqlunx.h

/java/lib:
sforce.jar         Java components for the Salesforce driver

/lib:
ddsrfc28.so           Salesforce driver  
ddtrc28.so            Progress DataDirect trace library
libddicu28.so         Unicode conversion tables  [.a on AIX]
libddmback.so         SQLDriverConnect Motif library 
libddssl28.so	      SSL support file [.a on AIX]
libodbc.so            ODBC Driver Manager [.a on AIX]
libodbcinst.so        ODBC Installer [.a on AIX]
odbc.so               ODBC Driver Manager (dynamically loadable) 
                      [AIX only]
odbccurs.so           ODBC Cursor library 
odbcinst.so           ODBC Installer (dynamically loadable) 
                      [AIX only]
vscnctdlg.so          ODBC library for Motif operations

/OpenSSL/1.0.0r/libddssl28.so  SSL support file (OpenSSL library 
                               version 1.0.0r) [.a on AIX] 
/OpenSSL/1.0.2d/libddssl28.so  SSL support file (OpenSSL library 
                               version 1.0.2d) [.a on AIX] 
/OpenSSL/latest/libddssl28.so  SSL support file (OpenSSL library 
                               version 1.0.2g) [.a on AIX] 

/locale/en_US/LC_MESSAGES:
ddmbackw.mo           Motif library message file
ddmbackw.po           Motif library message source
ddsfrc28.mo           Salesforce driver message file
ddmsfrc28.po          Salesforce driver message file source
odbc.m                ODBC Driver Manager message file
odbc.po               ODBC Driver Manager message source


/notices:
ODBC for Salesforce v8.0 notices.txt	  Third-party vendor license agreements	


/readmes:
ODBC for Salesforce 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 
			        Salesforce 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 
                                Salesforce driver

/example/ddlogging.properties	Log configuration file for the Salesforce driver
/example/example          	Example application
/example/example.c        	Example source
/example/example.h        	Example header
/example/example.mak      	Example make file
/example/example64.txt    	Example description
/example/ddlogging.properties   Log configuration file for the 
                                Salesforce driver

/tools:
ddextu                    License Extender utility
ddprocinfo                Processor Information utility

 
~~~~~~~~~~~~~~
February 2019

End of README