将SAS连接到Microsoft SQL Server数据库

将SAS连接到Microsoft SQL Server数据库,sql,sql-server,sas,Sql,Sql Server,Sas,我想将SAS连接到Microsoft SQL Server数据库,但未成功 我已经使用NT身份验证建立了数据库连接 例如,当我想将R(统计软件)连接到数据库时,我会这样做 Chu db看看这一页: 具体来说,我认为你应该这样做: libname mydblib odbc user=testuser password=testpass datasrc=mydatasource; 通常,在连接到SQL server时,您应该提供用户名和密码。我假设您已经验证了ODBC连接设置正确(例如使用R测试

我想将SAS连接到Microsoft SQL Server数据库,但未成功

我已经使用NT身份验证建立了数据库连接

例如,当我想将R(统计软件)连接到数据库时,我会这样做

Chu db看看这一页:

具体来说,我认为你应该这样做:

libname mydblib odbc user=testuser password=testpass datasrc=mydatasource;
通常,在连接到SQL server时,您应该提供用户名和密码。我假设您已经验证了ODBC连接设置正确(例如使用R测试)

根据评论编辑: 如果您使用的是NT身份验证,请按照以下说明操作:(来自)

我怀疑旧样式的just dsn=“stuff”在新版本上不起作用-尽管我只使用OLEDB,所以我不是100%确定。

看看这个页面:

具体来说,我认为你应该这样做:

libname mydblib odbc user=testuser password=testpass datasrc=mydatasource;
通常,在连接到SQL server时,您应该提供用户名和密码。我假设您已经验证了ODBC连接设置正确(例如使用R测试)

根据评论编辑: 如果您使用的是NT身份验证,请按照以下说明操作:(来自)


我怀疑旧样式的just dsn=“stuff”在新版本上不起作用-尽管我只使用OLEDB,所以我不是100%确定。

在SAS中建立到SQL SERVER的ODBC连接; 首先使用Windows ODBC数据源管理员创建一个用户DSN。我使用SQL Server本机客户端和默认值

然后在SAS中执行以下语句

libname mySasLib odbc datasrc='myUserDSN';
或者,从SAS资源管理器窗口GUI中,选择新建以调用新建库对话框

注意机器上的DSN源将列在数据源下拉列表中

用户ID、密码和选项字段是可选的,对于Windows集成安全性,这些字段留空

)

随后——为了充分利用SQL pass的强大功能——这里是在工作中创建虚拟视图的语法;这对我来说是一个难以置信的表现提升

proc sql;
connect to ODBC as mycon (datasrc='myUserDSN');
create view one as
select colA, colB from connection to mycon
(select colA, colB from tableInDataSrc order by colA);
disconnect from mycon;
quit;
然后是:

proc univariate data=one;
by colA;
histogram colB;
run;

在SAS中与SQL SERVER建立ODBC连接; 首先使用Windows ODBC数据源管理员创建一个用户DSN。我使用SQL Server本机客户端和默认值

然后在SAS中执行以下语句

libname mySasLib odbc datasrc='myUserDSN';
或者,从SAS资源管理器窗口GUI中,选择新建以调用新建库对话框

注意机器上的DSN源将列在数据源下拉列表中

用户ID、密码和选项字段是可选的,对于Windows集成安全性,这些字段留空

)

随后——为了充分利用SQL pass的强大功能——这里是在工作中创建虚拟视图的语法;这对我来说是一个难以置信的表现提升

proc sql;
connect to ODBC as mycon (datasrc='myUserDSN');
create view one as
select colA, colB from connection to mycon
(select colA, colB from tableInDataSrc order by colA);
disconnect from mycon;
quit;
然后是:

proc univariate data=one;
by colA;
histogram colB;
run;

我尝试使用procsql语句和libname格式进行连接。后者似乎更易于使用,以下是一个示例:

  LIBNAME testLib ODBC DSN='sqlserver' user=userID pw=xxxxxxxx schema=dbo;
  title 'Testing Libname Option';
  proc contents data= testLib.mytable;
  proc print data=testLib.mytable(obs=10); 

UserID和PWD需要来自ODBC连接设置。

我尝试使用proc sql语句和libname格式进行连接。后者似乎更易于使用,以下是一个示例:

  LIBNAME testLib ODBC DSN='sqlserver' user=userID pw=xxxxxxxx schema=dbo;
  title 'Testing Libname Option';
  proc contents data= testLib.mytable;
  proc print data=testLib.mytable(obs=10); 

UserID和PWD需要来自您的ODBC连接设置。

我是SAS新手,在创建“用户DSN”时浪费了很多时间。 谢天谢地,我和公司的管理团队进行了核实。 一位SAS管理员回答 “在SAS服务器端配置DSN” 她请求“MSSQL数据库和SAS服务器名称”,并为我创建了DSN

一旦建立了连接,我就使用下面的查询

(附言:我使用了windows身份验证)




我是SAS新手,在创建“用户DSN”时浪费了很多时间。 谢天谢地,我和公司的管理团队进行了核实。 一位SAS管理员回答 “在SAS服务器端配置DSN” 她请求“MSSQL数据库和SAS服务器名称”,并为我创建了DSN

一旦建立了连接,我就使用下面的查询

(附言:我使用了windows身份验证)




我使用的是NT身份验证,因此我不必使用“用户”和“密码”。关于ODBC连接,它与R一起工作,因此我认为它被正确地设置为包含NT身份验证,希望如此。如果使用Windows集成安全性(也称为NT身份验证),只需在回答中的第一个libname语句中省略用户和密码选项。我使用的是NT身份验证,所以我不必使用“用户”和“密码”。关于ODBC连接,它与R一起工作,因此我认为它被正确地设置为包含NT身份验证,希望如此。如果使用Windows集成安全性(又称NT身份验证),只需在回答中的第一条libname语句中省略用户和密码选项。