Sql server 用于ODBC的SAS SQL直通设施规范
第一次使用SQL Pass-Through,但无法理解它是如何工作的Sql server 用于ODBC的SAS SQL直通设施规范,sql-server,sas,pass-through,Sql Server,Sas,Pass Through,第一次使用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
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
我错过了一些争论吗 您可以检查以下内容:
- 此错误消息通常是由于
语句中的输入错误,或在datasrc=
控制面板->ODBC数据源中设置DSN失败造成的李>
- 确保您输入的值(
在您的示例中)与名称在AAA
控制面板->ODBC数据源中的显示方式完全相同李>
- 检查在ODBC设置中单击“测试”时,它是否可以成功连接李>
- 最后,如果要从不同于windows登录帐户的帐户运行SAS作业,请确保将ODBC连接设置为
,而不是系统DSN
。系统DSN对计算机上的所有用户可见,而不仅仅是创建ODBC连接的用户可见用户DSN
- 确保您输入的值(
/* mySQL example */
proc sql noprint;
connect to odbc (datasrc=myDSN user=myusername password="mypassword");
create table sqlo as
select *
from connection to odbc
(
select * from database.table limit 1
)
;
quit;
我能找到的关于服务器的唯一信息是通过右键单击SAS中服务器列表中的图标获得的主机名。请尝试添加SASTRACE选项-
options SASTRACE='d',sastraceloc=saslog代码>并查看两种情况下的日志。尝试在gui中设置选项,后一个%put应返回您“单击”的设置:proc sql;连接到odbc(提示);退出;%put&sqlxmsg代码>查看处理显式传递的部分,看看这是否有用。特别是,我会尝试他们给出的查询示例(任何查询,只是一些愚蠢的事情),并告诉SAS为您生成显式传递源;然后,如果它运行,请查看该源并查看它使用的连接信息。我认为此错误也可能是由于使用32位ODBC驱动程序和64位SAS造成的,反之亦然。如何设置为系统dsn
?当您进入控制面板->ODBC数据源时,会显示一个选项卡列表。系统DSN将有一个选项卡,只需选择该选项卡,然后单击“添加”按钮即可。