BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
FatCaptain
Fluorite | Level 6

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.

1 ACCEPTED SOLUTION

Accepted Solutions
Doc_Duke
Rhodochrosite | Level 12

One way to do it is to convert the program to pass-thru SQL instead of using the libname approach.

View solution in original post

4 REPLIES 4
Doc_Duke
Rhodochrosite | Level 12

One way to do it is to convert the program to pass-thru SQL instead of using the libname approach.

FatCaptain
Fluorite | Level 6

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;

Ksharp
Super User

There is an option preserve_tab_names= . and Did you try 'a.cus_data'n this literal table name?

Ksharp

data x;
input months $12.;
datalines;
111111111111
000000000000
100000000000
110000000000
111000000000
000000000001
000000000011
000000000111
000001000000
000001100000
000011100000
110001000000
111100000111
101011100100
;
run;
data want(drop=mon con);
set x;
mon=translate(compbl(translate(months,' ','1')),'_',' ');
con=countc(mon,'_');
if con=1 then do;
                  select(findc(mon,'_'));
                   when(1) flag='B';
                   when(length(mon)) flag='F';
                   otherwise flag='M';
                  end;
                end;
    else flag='O';
run;
darrylovia
Quartz | Level 8

did you try the owner= option

for SQL Server it is usually dbo

sas-innovate-wordmark-2025-midnight.png

Register Today!

Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9. Sign up by March 14 for just $795.


Register now!

How to Concatenate Values

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 4 replies
  • 1452 views
  • 0 likes
  • 4 in conversation