Dear team,
In one of the program I fetch data from an external API and I use the JSON LIBNAME engine to parse the resulting JSON data. The problem, the codes are running fine in SAS 9.4 32 bit SAS but I am getting the following errors in SAS 9.4 64 bit.
The JSON LIBNAME engine was introduced in SAS version 9.4 M4, so the code should run in both the enviroment i.e. 32 bit SAS and 64 bit SAS but surprisingly the error is popping up in 64 bit SAS only. Please let me know if someone has solution.
Thanks in advance.
The error I am getting:-
ERROR: The JSON engine cannot be found.
ERROR: Error in the LIBNAME statement.
26 data sasprod.prospects; set sign.prospects; run;
ERROR: Libref SIGN is not assigned.
NOTE: The SAS System stopped processing this step because of errors.
WARNING: The data set SASPROD.PROSPECTS 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.13 seconds
cpu time 0.03 seconds
27 data sasprod.root; set sign.root; run;
ERROR: Libref SIGN is not assigned.
The codes used are
filename response temp;
proc http
url="https://api.xx.io/api/xx/xxxx/xxxxxxxx/xxxx/"
method="GET"
webusername="XXXX"
webpassword="XXXX"
out=response;
run;
libname sign JSON fileref=response;
I am looking forward to hear from you.
Thanks
Pratik
The JSON libname engine was added in 9.4M4 (see this blog post). You'll need to make sure your 64-bit SAS is updated to the latest maintenance release too -- updating just 32-bit SAS won't be enough (different bits) even on the same machine.
Update from original poster:
Thanks for your replies. The problem is solved now
M3 catalog was used in SAS 9.4 M4 installation, so it is a mistake from our end.
The JSON libname engine was added in 9.4M4 (see this blog post). You'll need to make sure your 64-bit SAS is updated to the latest maintenance release too -- updating just 32-bit SAS won't be enough (different bits) even on the same machine.
Update from original poster:
Thanks for your replies. The problem is solved now
M3 catalog was used in SAS 9.4 M4 installation, so it is a mistake from our end.
Hi,
Sorry for the late reply.
Please find the log for your reference.
72 proc product_status; run;
For Base SAS Software ...
Custom version information: 9.4_M4
Image version information: 9.04.01M4P110916
For SAS/STAT ...
Custom version information: 14.2
For SAS/GRAPH ...
Custom version information: 9.4_M4
For SAS/ETS ...
Custom version information: 14.2
For SAS/FSP ...
Custom version information: 9.4_M4
For SAS/OR ...
Custom version information: 14.2
For SAS/AF ...
Custom version information: 9.4_M4
For SAS/IML ...
Custom version information: 14.2
For SAS/CONNECT ...
Custom version information: 9.4_M4
For SAS Enterprise Miner ...
Custom version information: 14.2
For SAS Integration Technologies ...
Custom version information: 9.4_M4
For SAS Credit Scoring ...
Custom version information: 14.2
For High Performance Suite ...
Custom version information: 2.2_M5
For SAS/ACCESS Interface to DB2 ...
Custom version information: 9.4_M2
For SAS/ACCESS Interface to Oracle ...
Custom version information: 9.41
For SAS/ACCESS Interface to SAP ASE ...
Custom version information: 9.4_M3
For SAS/ACCESS Interface to PC Files ...
Custom version information: 9.4_M4
For SAS/ACCESS Interface to ODBC ...
Custom version information: 9.4_M4
For SAS/ACCESS Interface to OLE DB ...
Custom version information: 9.4_M4
For SAS/ACCESS Interface to Teradata ...
Custom version information: 9.44
NOTE: PROCEDURE PRODUCT_STATUS used (Total process time):
real time 0.07 seconds
cpu time 0.07 seconds
This is Linux or Windows?
If Linux, verify these exist:
/<SASHome>/SASFoundation/9.4/sasexe/tkinstjson.so
/<SASHome>/home/SASFoundation/9.4/sasexe/sasejson
/<SASHome>/home/SASFoundation/9.4/sasexe/sasjson
/<SASHome>/home/SASFoundation/9.4/sasexe/tkejson.so
If Windows, verify these exist:
\SASHome\SASFoundation\9.4\core\sasEXE\sasejson.dll
\SASHome\SASFoundation\9.4\core\sasEXT\tkejson.dll
Hey,
Thanks for the reply 🙂
Yes all the mentioned files are available but for SAS 9.4, the locations are slightly different, as mentioned below:-
C:\Program Files\SAS 9.4\SASFoundation\9.4\core\sasexe
C:\Program Files\SAS 9.4\SASFoundation\9.4\core\sasext
I am planning to raise the ticket with SAS also.
Error still same.
27 libname sign JSON fileref=response;
ERROR: The JSON engine cannot be found.
ERROR: Error in the LIBNAME statement.
28 data sasprod.prospects; set sign.prospects; run;
ERROR: Libref SIGN is not assigned.
Yes, please open a track and our Windows Technical Support will assist you. From my point of view, something went wrong during the installation or upgrade...
Dear all,
Thanks for your replies. The problem is solved now 🙂
M3 catalog was used in SAS 9.4 M4 installation, so it is a mistake from our end.
Regards,
Pratik
The SAS Users Group for Administrators (SUGA) is open to all SAS administrators and architects who install, update, manage or maintain a SAS deployment.
SAS technical trainer Erin Winters shows you how to explore assets, create new data discovery agents, schedule data discovery agents, and much more.
Find more tutorials on the SAS Users YouTube channel.