BookmarkSubscribeRSS Feed
ccherrub
Obsidian | Level 7

So my code looks something like:

 

libname AEData "/home/u60650811/MYSAS/db1.sas7bdat"
access=readonly;
run;
 
Pretty simple however I don't know why I keep getting these errors:
 
1 OPTIONS NONOTES NOSTIMER NOSOURCE NOSYNTAXCHECK;
68
69 libname AEData "/home/u60650811/MYSAS/db1.sas7bdat"
70 access=readonly;
ERROR: Library AEDATA is not in a valid format for access method RANDOM.
ERROR: Error in the LIBNAME statement.
71 run;
72
73 OPTIONS NONOTES NOSTIMER NOSOURCE NOSYNTAXCHECK;
83
2 REPLIES 2
Kurt_Bremser
Super User

Libraries are directories containing datasets, catalogs, views. SAS datasets are files with extension .sas7bdat.

So your statement has to be

libname AEData "/home/u60650811/MYSAS";

after which you can access your dataset as aedata.db1.

Tom
Super User Tom
Super User

You pointe the libref at a file instead of directory.  Since a file is NOT a directory it is the wrong format. 

 

Either point the libref at the directory that contains the file and use a two level name when access the dataset.

libname AEData "/home/u60650811/MYSAS"  access=readonly;
proc contents data=aedata.db1 ;
run; 

Or use the quoted physical filename to reference that dataset directly.

proc contents data="/home/u60650811/MYSAS/db1.sas7bdat";
run;

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
  • 1997 views
  • 0 likes
  • 3 in conversation