BookmarkSubscribeRSS Feed
b77
Calcite | Level 5 b77
Calcite | Level 5

I run proc sql by connecting to sql server table (proc sql; connect to sqlsvr (dsn=table_name readbuff=15000))

I would like to run a proc contents on the table (dsn=table_name) but I must be getting the syntax wrong.  Is it even possible to run proc contents when connecting to SQL server?

 

Any help would be appreciated...

2 REPLIES 2
Quentin
Super User

When you use PROC SQL to connect to SQL server, you're using "explicit pass-through" to let you write Microsoft SQL Server code and send it to SQL server to execute.

 

You cannot use PROC CONTENTS in an explicit pass-through block because PROC CONTENTS is SAS code, not SQL Server Code.

 

If you want to run PROC CONTENTS on a SQL server table, you can use the LIBNAME statement to create a libref that points to the SQL server database.  Then you can run the usual PROC CONTENTS step:

libname mysqldb ... ;
proc contents data=mysqldb.mytable;
run;

When you do that, you're using "implicit pass-through".  You're submitting SAS code and telling SAS to translate it into SQL server code.

Patrick
Opal | Level 21

On top of what @Quentin says: 

Proc Contents then will you show how the SQL Server columns map into SAS columns. It will not show you the SQL Server column types (like: a varchar on the SQL Server side will map into a CHAR on the SAS side and that's what Proc Contents will show).

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!

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