在我的工作中,有一个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”)?
答案 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。