![]() | ![]() | ![]() | ![]() | ![]() |
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.
Product Family | Product | System | SAS Release | |
Reported | Fixed* | |||
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 |