Problem Note 15615: ODBC drivers in UNIX environments that are compiled to use 32-bit function calls do not work with SAS/ACCESS® 9.1 Interface to ODBC
Some vendors compile their drivers with a 32-bit ODBC model rather than
the 64-bit ODBC model or with a driver manager which uses a 32-bit model
such as the unixODBC driver manger. Drivers compiled in this manner
will not work with the SAS/ACCESS Interface to ODBC in SAS 9 due to
their use of 32-bit parameters for many of the ODBC functions. These
32-bit parameter calls are incompatible with SAS 9 SAS/ACCESS Interface
to ODBC images which have been compiled with the 64-bit ODBC model.
Two vendors that we know who use the 32-bit ODBC model for their
driver or driver managers are Sybase IQ and Redbrick.
You may receive an abend such as a bus error or segmentation violation
when executing the interface with a driver compiled in this manner.
On Solaris and AIX:
Segmentation Violation in Task
Fault Occurred at [!SASROOT/sasexe/sasioodbc: _memcpy+0x100]
Task Traceback
!SASROOT/sasexe/sasioodbc: _memcpy_0x100
No Traceback available
Segmentation Violation in Task [task name]
Fault Occurred at [!SASROOT/sasexe/sas:vvtentr+0xb4]
On HP:
Bus Error in Task [task name]
Fault and traceback information not available
Task Traceback
ERROR: Generic critical error.
where !SASROOT is the directory where SAS is installed and task name is
the name of the task executing when the abend occurred.
To workaround this issue, we have provide new SAS/ACCESS Interface to
ODBC engine images that are complied with the unixODBC driver manager
which uses the 32-bit ODBC model.
Select the Hot Fix tab in this note to access the hot fix for this issue.
After installing the above Hot Fix, follow the steps below to
enable the unixODBC SAS/ACCESS modules. (assuming that SAS 9.1 is
installed in /sas913).
$ cd /sas913/sasexe
$ mv sasodb sasodb.orig
$ ln -s sasodb_u sasodb
$ mv sasioodb sasioodb.orig
$ ln -s sasioodb_u sasioodb
$ mv sasdblda sasdblda.orig
$ ln -s sasdblda_u sasdblda
$ mv sasdblpa sasdblpa.orig
$ ln -s sasdblpa_u sasdblpa
$ mv sasodbcb sasodbcb.orig
$ ln -s sasodbcb_u sasodbcb
$ mv sasodbdb sasodbdb.orig
$ ln -s sasodbdb_u sasodbdb
Once installed, the Service Pack will add the necessary alternative
ACCESS TO ODBC modules in !SASROOT/sasexe and creating the symbolic
links there will allow SAS to accommodate "hybrid" ODBC drivers. IT
IS IMPORTANT TO UNDERSTAND THAT IF ACCESS TO ODBC-RELATED HOT FIXES
WHICH ARE UNRELATED TO THE SERVICE PACK ARE APPLIED THEN THESE SAME
LINKS WILL NEED TO BE CREATED IN !SASROOT/hotfix/sasexe.
Operating System and Release Information
SAS System | SAS/ACCESS Interface to ODBC | 64-bit Enabled Solaris | 9.1 TS1M3 | 9.1 TS1M3 SP2 |
64-bit Enabled AIX | 9.1 TS1M3 | 9.1 TS1M3 SP2 |
HP-UX IPF | 9.1 TS1M3 | 9.1 TS1M3 SP2 |
64-bit Enabled HP-UX | 9.1 TS1M3 | 9.1 TS1M3 SP2 |
Linux on Itanium | 9.1 TS1M3 | 9.1 TS1M3 SP2 |
Tru64 UNIX | 9.1 TS1M3 | 9.1 TS1M3 SP2 |
*
For software releases that are not yet generally available, the Fixed
Release is the software release in which the problem is planned to be
fixed.
Type: | Problem Note |
Priority: | high |
Topic: | Third Party ==> Information Exchange ==> ODBC (Open Database Connectivity) SAS Reference ==> LIBNAME Engines
|
Date Modified: | 2009-10-08 13:20:39 |
Date Created: | 2005-06-21 11:25:04 |