1

第一次使用 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

我错过了一些论点吗?

4

1 回答 1

1

您可以检查以下内容:

  • 此错误消息通常是由于datasrc=语句中的拼写错误或未能在Control Panel->ODBC Data Sources.
  • 确保您输入的值(AAA在您的示例中)正是名称在 中的显示方式Control Panel->ODBC Data Sources
  • 检查当您在 ODBC 设置中单击测试时,它可以连接成功。
  • 最后,如果您将从不同于 Windows 登录帐户的帐户运行 SAS 作业,请确保您的 ODBC 连接设置为 aSystem DSN而不是 a 。User DSN计算机上的所有用户都可以看到系统 DSN,而不仅仅是创建该 ODBC 连接的用户。

这就是我的 ODBC 直通语句通常如何查找简单查询的方式:

/* 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;
于 2014-10-21T16:04:42.600 回答