在不使用 SSIS 包的情况下将 SAS 数据集移动到 SQL 服务器

Moving SAS dataset into SQL Server WITHOUT using SSIS packages

我有一个 vb.net 2010 项目,可以远程 运行 准备好的 SSIS 包,将 SAS 9.3 数据集导出到 SQL Server 2012 数据库。据我所知,该过程测试正常。

但是,我被告知不要使用它(因为 SSIS 包不可靠?),那么是否有其他替代方法?

我查看了 SAS ODBC 以查看是否可以从 SAS 端执行此操作,但我不确定 DSN 参数,example 我查看的是这样的:

LIBNAME SQL ODBC DSN='sqlsrv_nt' schema=MSSQLTips;

除了不确定 DSN 是否适用于我之外,我不是我工作站的管理员,所以我不能经常使用 ODBC 设置 - 我不确定这是要走的路。

您不需要成为管理员。在用户配置文件下设置 DSN 连接。然后分配您的 libname,您可以在 SQL 服务器中上传或更新数据,因为权限允许。

您的 libname 语句看起来是正确的。

您可以使用驱动程序或 DSN(已设置所有 configurations/settings 的自定义快捷方式数据源连接对象)。连接后,将您的数据从本地附加到远程源。

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

* WITH DRIVER;
libname mssqldata odbc complete="driver={SQL Server}; Server=servername; user=username; pwd=password; database=databasename;";

** APPEND TO DATABASE TABLE;
proc datasets;
    append base = mssqldata.DBTable
    data = Work.SASdataset
    force;
quit;

** UN-ASSIGN ODBC LIBRARY;
libname mssqldata clear;

将库分配给数据库时要非常小心,因为它是实时连接而不是副本。因此,modifying/adding/deleting 将立即反映到服务器。