Usage Note 61630: A segmentation violation occurs when you use SAS/ACCESS® Interface to ODBC with OpenLink drivers
The following segmentation violation and error can occur when using OpenLink ODBC drivers with SAS/ACCESS Interface to ODBC:
ERROR: An exception has been encountered.
Please contact technical support and provide them with the following traceback information:
The SAS task name is [SQL ]
Segmentation Violation
Traceback of the Exception:
/opt/sas/94/SASFoundation/9.4/sasexe/sas(+0x15aa6e) [0x2b0fa9b95a6e]
/opt/sas/94/SASFoundation/9.4/sasexe/sas(+0x4cb0b) [0x2b0fa9a87b0b]
/opt/sas/94/SASFoundation/9.4/sasexe/tkmk.so(bkt_signal_handler+0x144) [0x2b0fab2d23c4]
/lib64/libpthread.so.0(+0x3933e0f7e0) [0x2b0faa13f7e0]
/lib64/libc.so.6(_IO_vfprintf+0x3e5c) [0x2b0faaa54c9c]
/lib64/libc.so.6(vasprintf+0xba) [0x2b0faaa7c24a]
/opt/sas/openlink/lib/sql_mt_lt.so(+0x1058b3) [0x2b0fdf48c8b3]
/opt/sas/openlink/lib/sql_mt_lt.so(+0xd680e) [0x2b0fdf45d80e]
/opt/sas/openlink/lib/sql_mt_lt.so(+0xe5078) [0x2b0fdf46c078]
/opt/sas/openlink/lib/sql_mt_lt.so(+0xf0333) [0x2b0fdf477333]
/opt/sas/openlink/lib/sql_mt_lt.so(+0x10316c) [0x2b0fdf48a16c]
/opt/sas/openlink/lib/sql_mt_lt.so(+0xf2855) [0x2b0fdf479855]
/opt/sas/openlink/lib/sql_mt_lt.so(+0x10adb9) [0x2b0fdf491db9]
/opt/sas/openlink/lib/sql_mt_lt.so(+0xeb898) [0x2b0fdf472898]
/opt/sas/openlink/lib/sql_mt_lt.so(+0xeeea8) [0x2b0fdf475ea8]
/opt/sas/openlink/lib/sql_mt_lt.so(+0xe21d4) [0x2b0fdf4691d4]
/opt/sas/openlink/lib/sql_mt_lt.so(+0xc0034) [0x2b0fdf447034]
/opt/sas/openlink/lib/sql_mt_lt.so(+0x862cc) [0x2b0fdf40d2cc]
/opt/sas/openlink/lib/sql_mt_lt.so(+0x7ba2e) [0x2b0fdf402a2e]
/opt/sas/openlink/lib/sql_mt_lt.so(+0x7bc5a) [0x2b0fdf402c5a]
/opt/sas/openlink/lib/sql_mt_lt.so(+0x70766) [0x2b0fdf3f7766]
/opt/sas/openlink/lib/sql_mt_lt.so(+0x64298) [0x2b0fdf3eb298]
/opt/sas/openlink/lib/sql_mt_lt.so(+0x49856) [0x2b0fdf3d0856]
/opt/sas/openlink/lib/libodbc.so(SQLFetchScroll+0x307) [0x2b0fdecd0347]
/opt/sas/94/SASFoundation/9.4/sasexe/sasodb(du_tkeftch+0x11) [0x2b0fdea91e31]
/opt/sas/94/SASFoundation/9.4/sasexe/sasodb(du_eftch+0xeb) [0x2b0fdea83f5b]
/opt/sas/94/SASFoundation/9.4/sasexe/sasioodb(dugete+0xa38) [0x2b0fde5bbeb8]
/opt/sas/94/SASFoundation/9.4/sasexe/sasioodb(duget+0x11c0) [0x2b0fde5bb430]
/opt/sas/94/SASFoundation/9.4/sasexe/sasxdbi(fetch+0x5a5) [0x2b0fde82fa55]
/opt/sas/94/SASFoundation/9.4/sasexe/sassqx(+0x22412) [0x2b0fe8230412]
/opt/sas/94/SASFoundation/9.4/sasexe/sassqx(+0x208db) [0x2b0fe822e8db]
ERROR: CLI close cursor error: [iODBC][Driver Manager]Function sequence error
The problem occurs when the SQL Server table variables have long lengths. The OpenLink driver does not handle these well.
To circumvent the problem, cast the variable as a VARCHAR data type as shown below:
cast(variableName as VarChar(1000)) as SASVariableName
Operating System and Release Information
| SAS System | SAS/ACCESS Interface to ODBC | 64-bit Enabled AIX | 9.4 | | 9.4 TS1M0 | |
| 64-bit Enabled Solaris | 9.4 | | 9.4 TS1M0 | |
| HP-UX IPF | 9.4 | | 9.4 TS1M0 | |
| Linux for x64 | 9.4 | | 9.4 TS1M0 | |
| Solaris for x64 | 9.4 | | 9.4 TS1M0 | |
*
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.
A segmentation violation can occur when using SAS/ACCESS Interface to ODBC with OpenLink drivers. The problem occurs when you use longer character variables in your SQL Server table.
| Date Modified: | 2018-01-05 08:03:12 |
| Date Created: | 2017-12-22 12:25:54 |