出于各种原因,我更喜欢尽可能以批处理模式运行SAS程序。出于安全原因,我宁愿让SAS在建立和连接到Teredata仓库的ODBC时提示我输入密码。我可以同时拥有这两件事吗?
以下代码在以交互方式从SAS运行时正常工作,但在批量运行时不会创建提示。
proc sql;
connect to odbc (prompt);
quit;
任何人都知道如何使这项工作? (另外,我正在寻找专门使用connect
语句的解决方案;我无法使用SAS / ACCESS libname
到达Teradata的方法。)
答案 0 :(得分:1)
我不确定是否可以让批处理程序提示您。但是,您可以通过使用SYSPARM
在运行批处理程序时将密码(或连接字符串的任何部分或整个字符串)作为传递给SAS的参数来解决问题。
然后,您可以在执行程序时在命令行中键入密码。您可以轻松地在正常的“运行SAS批处理”程序中执行类似“%1”参数的操作,或者为此用例编写自定义参数。
如果您想通过右键单击菜单运行来运行,可以通过编写VB脚本或Powershell脚本(Windows)或Unix中的类似脚本来解决它,这会打开一个提示窗口(通过操作系统)获取参数,然后批量运行程序(然后将其添加到右键单击菜单)。