From the documentation - this macro variable contains only the error messages: SYSDBMSG
contains DBMS-specific error messages that are generated when you use
SAS/ACCESS software to access your DBMS data.
it is not solve my problem.
And this macro is empty - because no ERROR .
For example I have a libname definition like this:
Libname O_WORK ORACLE user="&actualuser"
I would like to write a macro for example ..
%get_lib_param(O_WORK,dbindex); --> return: YES
%get_lib_param(O_WORK,readbuff); --> return: 5000
%get_lib_param(O_WORK,read_lock_type); --> return: nolock
is this possible? Any function/meta table - to query this values ?
The Libname .. LIST - only write this: libname O_WORK LIST;
NOTE: Libref= O_WORK
Physical Name= TESTU
since almost all installations are different, yours will be unique too, but this feature is documented as holding more than just messages about errors.
Extracted from SAS Access to DB/2
specifies connection information for your data source or database for PCs only. Separate multiple options with a semicolon. When a successful connection is made, the complete connection string is returned in the SYSDBMSG macro variable."
so I thought you might consider it worth the trouble to try.
I don't have "Access to Oracle" here or in my office, but I have worked with Access to ODBC here.
Stepping through the standard Dictionary views gives you some data, but was a little short of what was needed for consistency of ODBC installations. I found that using Windows APIs it was possible to query and surface definitions from the ODBC administrator that could be matched by ODBC definition name to the library data.
In fact, there was sufficient data to create new ODBC definitions where a client was malconfigured. I'm not sure if this would be enough to start me on getting the Oracle definition since it appears that ODBC holds the definition locally on the client, while Oracle passes it off to the Oracle server.
Yes, dictionary.libnames - contains very minimal info ...
probably this is impossible to get this kind of information.
thanks, for your answer
create table work.info as select *
where libname = upcase("stage");
data _null_ ;
set work.info ;
put (_all_) (= /);
sysdesc=ORACLE ACCESS ENGINE LIB INFO
NOTE: There were 1 observations read from the data set WORK.INFO.