BookmarkSubscribeRSS Feed
Alphanumeric
Obsidian | Level 7
Brand new to SAS programming so I am taking it slow. I have an intermediate background in SQL so I have been taking existing SAS programs and using PROC SQL to attempt recreate the actions being done in the code I have been given. Back-translating if you will, like reverse engineering something in order to learn how something works. However, I am at a loss (not the first I am sure) as to why my code is not pulling from SQL tables correctly. After I set my libraries up (libname SQL oledb udl_file="C:\dir\subdir\EXAMPLE.udl";), the code I have is:

data TEST;
set SQL.TEST;
run;

This runs fine and I get my variables into my work library fine. I check the work.test and everything is there and all the attributes are fine. But if I try and reproduce this using proc sql, my attributes are different from what is set in the SQL table.

proc sql;
connect to odbc (dsn=EXAMPLE);
create table TEST as select * from connection to
odbc(select * from EXAMPLE.dbo.TEST);
disconnect from odbc;
quit ;

Basically my attribute LENGTH is doubled on some of my variables and not on others. What logic am I missing here?
2 REPLIES 2
darrylovia
Quartz | Level 8
i did notice in your code that the LIBNAME names uses OLEBD to connect to SQL Server and the SQL Pass-through uses ODBC. Try using the same connection method and see what happens.

D
Alphanumeric
Obsidian | Level 7
Thanks. Seems that was my problem.

SAS Innovate 2025: Save the Date

 SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!

Save the date!

What is Bayesian Analysis?

Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.

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
  • 2 replies
  • 1017 views
  • 0 likes
  • 2 in conversation