SAS Data Integration Studio, DataFlux Data Management Studio, SAS/ACCESS, SAS Data Loader for Hadoop and others

Problem with proc metalib

Reply
Contributor
Posts: 38

Problem with proc metalib

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
Contributor
Posts: 38

Re: Problem with proc metalib

*push*

Is there a way to update metadata for dedicated tables via the mgmt console? Message was edited by: thomash123
Respected Advisor
Posts: 3,892

Re: Problem with proc metalib

removed by poster
SAS Employee
Posts: 36

Re: Problem with proc metalib

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.
Contributor
Posts: 38

Re: Problem with proc metalib

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... Smiley Wink

Thomas
SAS Employee
Posts: 36

Re: Problem with proc metalib

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.
Ask a Question
Discussion stats
  • 5 replies
  • 457 views
  • 0 likes
  • 3 in conversation