BookmarkSubscribeRSS Feed
thomash123
Calcite | Level 5
Dear all,

I am facing issues with updating metadata via DI Studio 4.21 M3.

When selecting the corresponding option for a DB2 table the log says:

[...]

proc metalib;

omr (libid="A900000F" repid="A5XBOHFR");
report(type = summary);
update_rule = (noadd);

select (A5XBOHFR.AB0000QY);

run;

SYMBOLGEN: Macro variable DMDATASRC resolves to acpme
SYMBOLGEN: Some characters in the above value which were subject to macro quoting have been unquoted for printing.
ERROR: CLI error trying to establish connection: [IBM][CLI Driver] SQL30082N Security processing failed with reason "24"
("USERNAME AND/OR PASSWORD INVALID"). SQLSTATE=08001

[...]

The DB2 connection works fine in all jobs with the same user. SELECT rights are granted.

It seems the statement does not use the correct credentials. The DB2 lib is preassigned.

Any idea on this one?

Thanks,
Thomas
5 REPLIES 5
thomash123
Calcite | Level 5
*push*

Is there a way to update metadata for dedicated tables via the mgmt console? Message was edited by: thomash123
Patrick
Opal | Level 21
removed by poster
nar_sas
SAS Employee
There could be an issue with the connection to the metadata server that metalib uses from its own sas session. Couple of things to try:

1. Make sure the SCHEMA name matches exactly the schema in the database including the appropriate case in the preassigned library
2. Turn off the "enable optional metadata macros" in DI Studio tools/options/code generation.
3. Open a code editor window and attempt the same call to metalib and make sure it works from your session.
thomash123
Calcite | Level 5
Hi,

didn't help, but in the meantime we found out, that proc metalib does not resolve pre-assigned macro variables for the DB user name.

So the statement it generates looks like:

1 proc metalib tl=2;
2
3 omr (libid="A900000F" repid="A5XBOHFR");
4 report(type = summary);
5 update_rule = (noadd);
6
7 select (A5XBOHFR.AB0000RH);
8
9 run;

(MSCMLB) initenvs: Library is preassigned
(MSCMLB) query_connect:db connect options: Datasrc=&DMDatasrc USER='&DBUser' PASSWORD='{SAS002}abcdef'
SYMBOLGEN: Macro variable DMDATASRC resolves to xyzabc

You can see, that the &DBUser is - in opposite to the rest of the parameters not resolved as it is set in ' '. This must have changed since 9.2?

So using a clear text user in the preassigned library should do the trick at this point.

Full of surprises this SAS is... 😉

Thomas
nar_sas
SAS Employee
I did check with the developer, and there is some thought that there hasnt been any code changes in the user name resolution since 9.1.3SP4 so this problem has been there for a while. There is a TS track logged on the issue, and we will investigate a fix for a future release.

sas-innovate-2024.png

Don't miss out on SAS Innovate - Register now for the FREE Livestream!

Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.

 

Register now!

How to connect to databases in SAS Viya

Need to connect to databases in SAS Viya? SAS’ David Ghan shows you two methods – via SAS/ACCESS LIBNAME and SAS Data Connector SASLIBS – in this video.

Find more tutorials on the SAS Users YouTube channel.

Discussion stats
  • 5 replies
  • 1535 views
  • 0 likes
  • 3 in conversation