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