【发布时间】:2014-10-21 07:49:03
【问题描述】:
第一次使用 SQL Pass-Through,不知道它是如何工作的。
libname myl odbc datasrc=AAA;
我试过了
proc contents data=myl.mytable;run;
它的工作原理与
完全相同proc contents data=AAA.mytable;run;
那么libname 语句有效吗?
但是当我尝试这个时没有运气。
proc sql;
connect to ODBC(datasrc=AAA);
execute (delete from Oit.d1 where datepart(Date) >= '08Mar2014'd) by ODBC;
disconnect from ODBC;
quit;
错误显示
ERROR: CLI error trying to establish connection: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
我错过了一些论点吗?
【问题讨论】:
-
我能找到的关于服务器的唯一信息是通过右键单击 SAS 服务器列表中的图标获得的主机名。
-
尝试添加 SASTRACE 选项 -
options sastrace='d,' sastraceloc=saslog nostsuffix;并查看两种情况下的日志。 -
尝试在gui中设置选项,后面的%put应该返回你“点击”的设置:
proc sql; connect to odbc (prompt); quit; %put &sqlxmsg; -
查看this pdf 处理显式传递的部分,看看是否有帮助。特别是,我会尝试他们给出的查询示例(任何查询,只是一些愚蠢的事情)并告诉 SAS 为您生成显式传递源;然后如果它运行,请查看该源并查看它使用了哪些连接信息。
-
我认为这个错误也可能是使用 64 位 SAS 的 32 位 ODBC 驱动程序的结果,反之亦然。
标签: sql-server sas pass-through