I have the following libname which connects to an SQL Server via OBDC;
libname servdat odbc dsn="MyODBC" uid=dbid pwd=pass ;
The tables on this server all have a period in their name, for example a.cus_data
The SQL is falling over as I belive that it sees this as a multi-level connection string.
proc sql ;
select *
from servdat.a.cus_data
;
quit ;
Is there a way I can get this to work?
Thanks in advance for any help.
Paul.
One way to do it is to convert the program to pass-thru SQL instead of using the libname approach.
One way to do it is to convert the program to pass-thru SQL instead of using the libname approach.
Thanks Doc. This does the job nicely.
proc sql;
connect to odbc(user=myodbc password=mypass dsn="MYODBC");
create table outdat as
select * from connection to odbc
(select * from a.cus_data);
quit;
There is an option preserve_tab_names= . and Did you try 'a.cus_data'n this literal table name?
Ksharp
did you try the owner= option
for SQL Server it is usually dbo
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.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.