【发布时间】:2021-12-12 06:13:26
【问题描述】:
我正在创建一个 SAS 宏函数,我的同事可以使用它通过 ODBC 连接使用 SAS Proc SQL 连接到各种数据库,以运行传递 SQL 代码。我希望连接是只读的,即使用户对数据库有写访问权。我可以在 LIBNAME 语句中执行此操作,使用 ACCESS=READONLY:
LIBNAME myLib ODBC NOPROMPT="DATABASE=myDB;Server=myServer;DRIVER={SQL Server};Trusted_Connection=Yes;" ACCESS=READONLY;
我可以像这样创建读写连接:
PROC SQL ;
CONNECT TO ODBC AS myCon(NOPROMPT="DATABASE=myDB;Server=myServer;DRIVER={SQL Server};Trusted_Connection=Yes;") ;
EXECUTE( INSERT INTO myTable(myColumn) VALUES(1) ) BY myCon ; ** insert a row where myColumn=1;
QUIT;
但是在 Connect To ODBC () 中插入 ACCESS=READONLY 作为选项,例如 CONNECT TO ODBC AS myCon(ACCESS=READONLY NOPROMPT="DATABASE=myDB;Server=myServer;DRIVER={SQL Server};Trusted_Connection=Yes;") ;,会导致 ERROR: Invalid option name ACCESS。
我知道在连接字符串中没有任何内容可以使连接成为只读。有没有办法让这个Connect to ODBC ... 变成只读连接?
【问题讨论】:
标签: sql sas connection odbc readonly