更新SAS 9.1程序以连接到SQL Server DB而不是Access mdb

时间:2015-09-25 19:49:53

标签: sql-server sas

在我的工作中,有一个SAS脚本连接到Microsoft Access数据库以将数据检索到平面文件。我的任务是调整它以连接到SQL Server数据库。我们有SAS 9.1,我无法更新版本,因为这不是我的决定。这是连接到Access数据库的代码(我用此帖子的通用标签替换了服务器名称和文件夹名称):

proc import out=SPONSOR 
   datatable="SPO_LOAD_UNBLIND"
   dbms=ACCESS2000 replace;
   database="\\<Server>\<Folder>\<Subfolder>\PROCESS.mdb";
   memosize=2048;
run;

我需要做什么才能将此连接到名为“DM_C0000”的SQL Server数据库,其表名与Access数据库中的表名相同(“SPO_LOAD_UNBLIND”)?

2 个答案:

答案 0 :(得分:0)

这最终起作用了:

proc sql;
   connect to odbc (dsn=<dsn>  user=<userid> pwd=<password>);
   create table SPONSOR as select * from connection to odbc(select * from <database>.<schema>.<table>);
quit ;

答案 1 :(得分:0)

或者,您可以通过ODBC使用libname连接到SQL Server数据库的所有当前表。

* WITH DSN; 
libname mydata odbc datasrc="DSN Name" user="username" password="password";

* WITH DRIVER (change driver name to your current installation);
libname mydata odbc complete="driver=SQL Server; Server=servername; 
                    user=username; pwd=password; database=databasename;";

请注意,SAS中对表的更改会影响实时数据库表。此外,删除整个库会删除数据库中的所有表(而不是数据库本身)。相反,请务必取消分配libname。