通过ODBC

时间:2015-08-11 06:02:59

标签: sql sas sql-server-2014

我已经用谷歌搜索了几天而且无法正常工作。

我正在使用SQL 2014和adventureworks数据库。

我有SAS 9.3。

我尝试过不同的ODBC设置,如设置默认数据库,使用Windows登录或SQL登录。不同的司机。仍然没有,使用完整和noprompt:

libname mylib odbc complete='TrustedConnection=True;DSN=test2;SERVER=MYSERVER\SQLEXPRESS;DATABASE=AdventureWorks2012;'stringdates=yes;
proc print data=mylib.Person;

错误讯息:

  

注意:Libref MYLIB已成功分配如下:         引擎:ODBC         物理名称:test2

     

注49-169:在未来的SAS版本中,带引号的字符串后标识符的含义可能会发生变化。                 在带引号的字符串和后续标识符之间插入空格是                推荐使用。

     

注意:由于错误,SAS系统停止处理此步骤。   注意:使用PROCEDURE PRINT(总处理时间):         实时5.48秒         cpu时间0.34秒

     

700 proc print data = mylib.Person;   错误:文件MYLIB.Person.DATA不存在

我已尝试使用Person.Person,也使用schema=Person尝试使用连接字符串。

但是,如果我使用以下它可以工作。我把默认数据库放在ODBC中:

proc sql;
   connect to odbc as mycon
   (required = "dsn=awlt32;uid=sa;password=mypassword");
   select *
   from connection to mycon
      (select *
      from Person.Person);

disconnect from mycon;
quit;

我知道这是一个非常简单的问题,但无论我找到什么样的代码,我似乎无法使其正常工作。提前谢谢。

1 个答案:

答案 0 :(得分:1)

  1. 将数据库连接添加到ODBC驱动程序;你需要在你的libname中使用这个连接的名称,
  2. 使用下面的libname并更新datasrc,sql用户和密码
  3. LIBNAME mylib ODBC DATASRC=name from step1 SCHEMA=dbo USER=sql user PASSWORD="xxx" ;

    proc datasets lib=mylib ;
    quit;