【发布时间】:2015-11-03 05:41:52
【问题描述】:
我已经用谷歌搜索了几天,但无法正常工作。
我正在使用 SQL 2014 和 Adventureworks 数据库。
我有 SAS 9.3。
我尝试了不同的 ODBC 设置,例如设置默认数据库、使用 Windows 登录或 SQL 登录。不同的驱动程序。仍然没有,使用完整且无提示:
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 打印数据=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;
我知道这是一个超级简单的问题,但无论我找到什么示例代码,我似乎都无法让它发挥作用。提前致谢。
【问题讨论】:
-
NOTE 49-169 如果在 stringdates=yes 之前放置一个空格,则应该会消失
-
任何想法:700 proc print data=mylib.Person;错误:文件 MYLIB.Person.DATA 不存在
-
如果您运行
proc contents data=mylib._all_;,您会看到任何表格吗?我不知道冒险作品。您是否需要在 libname 语句中添加架构名称? -
您的引号好像结束得太早了? Stringdate 应该在连接字符串后面加上引号和分号。还可以尝试添加 schema=dbo 并注意表名区分大小写。
-
搞定了。 schema=Person 是正确的,但我从未在 libname 语句中尝试过它,而是在 " " 连接字符串之外。哎呀。都修好了。谢谢大家。
标签: sql sas sql-server-2014