Learning SAS? Welcome to the exclusive online community for all SAS learners.

Error Code 49 - 169

Reply
Occasional Contributor
Posts: 7

Error Code 49 - 169

69I am trying to create a permanent library in SAS Libraries.  I write what I think is the correct code and get this error:

libname mysasrja;

WARNING: Libref MYSASRJA is not assigned.

 

2  
libname mysasrja

3   
   'c:\ users\JEROME
ANDERSON\Desktop\AAAA_UIC\ESPY_583\mysasrja;

3      
'

      

       
49

3
! c:\ users\JEROME ANDERSON\Desktop\AAAA_UIC\ESPY_583\mysasrja;

NOTE 49-169: The meaning of an identifier
after a quoted string might change in a future SAS

            release.  Inserting white space between a quoted string
and the succeeding

             identifier is recommended.

Any help would be appreciated.          

Super User
Posts: 10,466

Re: Error Code 49 - 169

One the message 49-169 is NOT an error. The message is a warning that you are writing code that might not work exactly the same in the future.

I suspect you are getting this because you managed to get quotes for the libname statement out of order. I think you may have lost some stuff when posting to the forum but:

   'c:\ users\JEROME

ANDERSON\Desktop\AAAA_UIC\ESPY_583\mysasrja;

3      
'

The single quote above is AFTER the ; in the libname statement. So now you have a quoted string without a semicolon until it runs into the one the next libname statement executed where it uses the first quote of 'C to end the previous one. Since there is a C immediately after that quote you get the warning.

'c:\ users\JEROME probably should not have the space before "users".

Occasional Contributor
Posts: 7

Re: Error Code 49 - 169

Ballard, thank you for this but I fixed those 2 errors, re-ran the code and got the same result.  Sorry I posted an earlier version of the log, not a more recent one w/ the errors fixed.  Here is a more recent version of the code:

libname mysasrja 'c:\Users\JEROME
ANDERSON\Desktop\AAAA_UIC\ESPY_583\mysasrja';

DATA mysasrja.voters;

INFILE 'c:\Users\JEROME
ANDERSON\Desktop\AAAA_UIC\ESPY_583\mysasrja\voters.sas7bdat';

run;


INFILE 'c:\Users\JEROME
ANDERSON\Desktop\AAAA_UIC\ESPY_583\mysasrja\voters.sas7bdat'

    
------------------------

                                                                                        49

21 ! ;

NOTE 49-169: The meaning of an identifier
after a quoted string might change in a future SAS

             release.  Inserting white space between a quoted string
and the succeeding

       
    identifier is recommended.

23 
libname mysasrja 'c:\Users\JEROME
ANDERSON\Desktop\AAAA_UIC\ESPY_583\mysasrja'

    
-------------------------------

                                                                                
49

23 ! ;

NOTE 49-169: The meaning of an identifier
after a quoted string might change in a future SAS

             release.  Inserting white space between a quoted string
and the succeeding

             identifier is recommended.

24 
DATA mysasrja.voters;

25 
INFILE 'c:\Users\JEROME
ANDERSON\Desktop\AAAA_UIC\ESPY_583\mysasrja\voters.sas7bdat';

26 
run;

7

28   proc contents data = mysasrja.voters;

29   run;[JA1]


[JA1]There
was no error message in the log file telling me the dataset was not
created.  Why?  I  got
no output, no results. 

Super User
Posts: 17,750

Re: Error Code 49 - 169

Your code doesn't make sense.

If you already have a SAS data set created in a folder you can reference it as follows:

data voters;

set mysasrja.voters;

run;

Since you've tried to recreate the data set, by having it in the data statement you may have overwritten your original data set.

Replace the original file you had, if you have a backup, and try the code above instead.

Occasional Contributor
Posts: 7

Re: Error Code 49 - 169

Thanks, Reeza, but that didn't work either:

35 DATA voters;

36 
set mysasrja.voters;

ERROR: Libref MYSASRJA is not assigned.

37 
run;

NOTE: The SAS System stopped processing
this step because of errors.

WARNING: The data set WORK.VOTERS may be
incomplete.  When this step was stopped
there were 0

       
observations and 0 variables.

NOTE: DATA statement used (Total process
time):

    
real time           0.19 seconds

    
cpu time            0.03 seconds

DATA voters;

set mysasrja.voters;

run;

Super User
Posts: 10,466

Re: Error Code 49 - 169

If the library was successfully assigned you do not access the data set voters with an infile statement.

Did you get a note in the log that MYSASRJA was successfully assigned?

Occasional Contributor
Posts: 7

Re: Error Code 49 - 169

No, I did not.  That's why I raised the question.  Had it been successfully assigned, I wouldn't have a problem. 

Super User
Posts: 10,466

Re: Error Code 49 - 169

You keep getting word wrap in you libname statement. You might try using double quotes instead of single. Also, make sure that the path has the same number of spaces and such which might be hidden. I would go to the given location using Windows explorer and then click in the path info at the topic. You can then copy and paste the text of the path into the libname statement.

And I asked about a successful assignment because your log info appeared incomplete.

Occasional Contributor
Posts: 7

Re: Error Code 49 - 169

I tried the double quotes.  Same result.

I copied the log as it appeared.

Could the code have been corrupted when I did the install yesterday?  I'm starting to wonder.  I even tried creating a dataset w/ DATALINES, just 4 cases, copied exactly from the prof's lecture notes, and all I get is "Data Step Running."  I can't even create a simple 4 record file from a keyed-in dataset.

I  tried copying and pasting from Windows Explorer and it didn't seem to work.  I thought it would but it didn't.

I appreciate your efforts but I am really stumped.  A week ago I was flying through the exercises like a pro.  Now I can't get anything to work.

Super User
Posts: 17,750

Re: Error Code 49 - 169

1. Restart your Virtual Machine

2. Pasting from Windows Explorer is often an issue in many applications, so try a different browser, I believe they recommend Chrome.

3. Have you successfully assigned this library before? Usually you need to use Unix syntax, not the Windows syntax you appear to be using. There are many threads on here on how set up a library using the VM.

Occasional Contributor
Posts: 7

Re: Error Code 49 - 169

Thanks, Reeza.

I was able to create datasets w/out the 49 - 169 message.  I don't know why I got the error -- Ballard (and others) have said it's not an error, but if it causes the program to not do what you wanted it to do, to me it's an error -- but I used the New command in Explorer to create a permanent SAS Library, pointed that library to a folder I created on the c:\ drive, copied my existing SAS files to it, then used the DATA statement w/ SET to create the file in the permanent SAS library.  Thanks to you and Ballard for trying to help w/ this.  I appreciate what you did. At least now I can go to bed (it's midnight in Liberia, where I am right now) knowing I got it to work.  Will try again tomorrow.

Thanks again.

Occasional Contributor
Posts: 15

Re: Error Code 49 - 169

I had a similar problem, getting this note.  I found that SAS was acting as if I had unbalanced quotes (the data step was still running),

even through I didn't have them, as far as I could tell.

 

I changed the single quotes to double quotes, and put spaces after the closing quotes.  That fixed things.

 

 

Valued Guide
Posts: 3,208

Re: Error Code 49 - 169

Your libname mysasrja should not use  a C:\ Windows naming convention as you are running UE. There are several other threads on this.

The best error message you will get is an access denied when trying to write and a dataset does not exist when reading. That error message is a misleading one.

The warning (no error) 49-196 is one about string usage. Earlier SAS version (before V8)  where mad to support a mainframe well. The usage of a hollerith card (cardimage option still exists) for 80 chars on a line was allowing the syntax to be compressed without spaces and using abbrevations.  With strings allowing in more conventions (d dt t and new n) a string should always be followed by a space.  There is something in your code not following this standard.   

---->-- ja karman --<-----
Occasional Contributor
Posts: 7

Re: Error Code 49 - 169

Thank you, Jaap.  This was most helpful.

My first encounter w/ statistical software was in 1973 -- SPSS on a mainframe using punch cards.  I remember those 80 columns well.  Your post brought back memories. 

Thanks again.

Ask a Question
Discussion stats
  • 13 replies
  • 3137 views
  • 0 likes
  • 5 in conversation