BookmarkSubscribeRSS Feed
Karthik0361
Calcite | Level 5

I have recently installed unixODBC driver in both CAS and Ansible controller nodes recently. The license which was used during
VIYA installation was not having SAS/Access to ODBC products. So, received a new license and have renewed the license now. I have
also edited the required files as mentioned in the official SAS Site.

Programming node:
/opt/sas/viya/config/etc/workspaceserver/default/workspaceserver_usermods.sh
/opt/sas/viya/config/etc/workspaceserver/default/sasenv_deployment

All CAS nodes:
/opt/sas/viya/config/etc/cas/default/cas_usermods.settings

I have now verified the proc setinit; and found the the new products are configured. I have created a proper DNS file to connect to
an SQL Server. But I'm receiving an error when I'm trying to connect through CAS or a normal libname statement.

Error Message:
libname statement:
libname tt odbc dsn="/etc/odbc.ini" user="tableauuser" password="xxxxxx";
- ERROR: The ODBC engine cannot be found.
- ERROR: Error in the LIBNAME statement.

libname tt odbc dsn="ODBC Driver 17 for SQL Server" user="tableauuser" password="xxxxxx";
- ERROR: The ODBC engine cannot be found.
- ERROR: Error in the LIBNAME statement.

odbc_error.jpg

 

 

 

9 REPLIES 9
alexal
SAS Employee

@Karthik0361,

 

I would like to review these files from your server:

 

/opt/sas/viya/config/etc/workspaceserver/default/sasenv_deployment
/opt/sas/viya/config/etc/cas/default/cas_usermods.settings

Karthik0361
Calcite | Level 5

Hi @alexal,

 

I can see that installation is not correct.

 

proc product_status; is not having SAS/Access to ODBC product.

 

Do you know how we can install an independent product to the existing system?

Karthik0361
Calcite | Level 5

Hi @alexal,

 

If we re-install SAs, will we lose all the data like reports, models and other loaded data that was created before?

daithi1990
Obsidian | Level 7

I had a similar issue with unixODBC MySQL drivers. 

 

The solution was to either A add encoding option to the CASLIB statement: 

 

caslib odbccaslib datasource=(srctype="odbc" odbc_dsn="MySQL" dm_unicode="utf-16" );

 

Or B add this option as part of the ODBC setup on the Linux server. 

 

Now I appreciate you're dealing with MSSQL, so this maybe different for you, however it would appear that there are issues with unixODBC. 

 

Also please ensure you have CAS Connector for ODBC installed prior to looking into the above.

Karthik0361
Calcite | Level 5

@alexal

 

Thanks for your inputs.

 

But now I am having serious issue where I am able to connect to the library using libname and cas statement but list tables is not working due to an internal issue.

 

I found following error in the cas log.

 

2018-02-19T14:45:47 esekilx5631:0: ERROR: /opt/sas/viya/home/SASFoundation/sasexe/tkepre.so(tktracex+0x2e) [0x7f80ef5a960e]
/opt/sas/viya/home/SASFoundation/sasexe/tkepre.so(preExceptionHandler+0x88) [0x7f80ef577ec8]
/opt/sas/viya/home/SASFoundation/sasexe/tkmk.so(bktExcept+0x5b) [0x7f811aa4e0bb]
/opt/sas/viya/home/SASFoundation/sasexe/tkmk.so(bkt_signal_handler+0x169) [0x7f811aa4e709]
/lib64/libpthread.so.0(+0xf370) [0x7f811c17b370]
/lib64/libc.so.6(cfree+0x1c) [0x7f811b6ee38c]
/opt/sas/viya/home/SASFoundation/../SASEventStreamProcessingEngine/current/lib/libodbc.so(+0xa6d05) [0x7f80eee82d05]
/opt/sas/viya/home/SASFoundation/../SASEventStreamProcessingEngine/current/lib/libodbc.so(+0xa6070) [0x7f80eee82070]
/opt/sas/viya/home/SASFoundation/../SASEventStreamProcessingEngine/current/lib/libodbc.so(SQLDriverConnectW+0x149) [0x7f80eee6b1d3]
/opt/sas/viya/home/SASFoundation/sasexe/tkeodbc.so(+0x10a19) [0x7f80ef096a19]
/opt/sas/viya/home/SASFoundation/sasexe/tketrc.so(trcDriverConnect+0x9aa) [0x7f80ed81a75a]

2018-02-19T14:45:47 esekilx5631:0: ERROR: (continued)%n/opt/sas/viya/home/SASFoundation/sasexe/tkedcm.so(dcmDriverConnect+0x1072) [0x7f80f4faecc2]
/opt/sas/viya/home/SASFoundation/sasexe/tkepre.so(preDriverConnect+0x288) [0x7f80ef57f3e8]
/opt/sas/viya/home/SASFoundation/sasexe/tkcastkts.so(buildConStringAndConnect+0x391) [0x7f80f5a47b61]
/opt/sas/viya/home/SASFoundation/sasexe/tkcastkts.so(ListTables+0x895) [0x7f80f5a43e45]
/opt/sas/viya/home/SASFoundation/sasexe/tkcasddsodbc.so(ddstktsFileInfo+0x110) [0x7f80f5dc9dc0]
/opt/sas/viya/home/SASFoundation/sasexe/tkcastab.so(FileInfo+0x905) [0x7f810d18aa75]
/opt/sas/viya/home/SASFoundation/sasexe/tkcasa.so(casaInvoke+0x1e99) [0x7f8106befa09]
/opt/sas/viya/home/SASFoundation/sasexe/tkcasdrv.so(HandleActionControllerThread+0xc9a) [0x7f810f8ee43a]
/opt/sas/viya/home/SASFoundation/sasexe/tkmk.so(sktMain+0x8d) [0x7f811aa4c17d]
/opt/sas/viya/home/SASFoundation/sasexe/tkmk.so(bktMain+0x6f) [0x7f811aa4deff]
/lib64/libpthread.so.0(+0x7dc5) [0x7f811c173dc5]
/lib64/libc.so.6(clone+0x6d) [0x7f811b76576d]
2018-02-19T15:59:27 esekilx5631:0: ERROR: Could not find the specified session.

alexal
SAS Employee

@Karthik0361,

 

If "ulimit -c" was set to "unlimited" before starting the CAS server. The CAS server should generate a core dump in the /tmp folder. Do you see any core dump files in the /tmp folder?

sukhwinder
Calcite | Level 5

In Advance tab, add a parameter and value

dm_unicode

utf-16

 

sas-innovate-2024.png

Don't miss out on SAS Innovate - Register now for the FREE Livestream!

Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.

 

Register now!

Discussion stats
  • 9 replies
  • 3791 views
  • 0 likes
  • 4 in conversation