我已经以这种方式添加了远程库:
libname R rengine=db2 server=SYS1;
但是我无法在proc sql
内使用它:
25 proc sql;
26 connect using R;
ERROR: SERVER= option, required for connection, not found.
27 quit;
我不想再次连接,因为我需要进行大量的存储过程调用。
本地SAS9.4,远程SAS9.1.3
答案 0 :(得分:1)
我建议只保存在宏变量中创建libref所需的信息,然后在定义连接时重用它们。
%let rengine=db2;
%let server=sys1;
libname R rengine=&rengine server=&server;
proc sql ;
connect to remote(server=&server dbms=&rengine);
或者您可以从保存在SASHELP.VLIBNAM中的元数据(或PROC SQL中的DICTIONARY.LIBNAMES)中创建宏变量。
proc sql ;
select sysvalue into :server trimmed
from dictionary.libnames
where libname='R' and sysname='Accessed through server'
;
select sysvalue into :rengine trimmed
from dictionary.libnames
where libname='R' and sysname="Server's engine"
;
connect to remote(server=&server dbms=&rengine);