您是否使用 SAS/Access 将您的 SAS 会话连接到 Oracle?
在我的情况下,我使用 SAS/Connect JDBC。
SAS/Connect 是将 SAS 底层系统连接到 JEE 的一种非常简单但有效的策略。本质上,sas/connect 是 sas 执行 sas -dmr 的另一个 telnet 实现。
我使用 sas/connect jdbc 将 sas 数据提取到我的 jsp 中,然后使用我们都熟悉的 java 编程技术将数据推送到 oracle 或 sql server 中。
阅读我关于使用 sas/connect 将 sas 连接到 JEE 的古老论文:http:
//www.nesug.org/proceedings/nesug04/ap/ap02.pdf。顺便说一句,不要试图通过纸上列出的联系人与我联系 - 他们是古老的。
回应您的进一步声明:
我以为您想要一种使用 JDBC 将数据插入 Oracle 的方法?我的论文向您展示了如何在 JSP 中嵌入整个 SAS 宏或 SQL 或任何文本块,然后提交该文本块以通过 SAS/Connect 运行。
String datasetname = request.getParameter("datasetname");
String where = request.getParameter("where");
<t:text id="macHello">
%macro hello(datasetname);
data &datasetname;
/* code to create your data */
run;
%mend;
%hello(<%=datasetname%>);
</t:text>
sasConnect.submit(macHello);
<t:text id="SQLgetRecs">
SELECT *
FROM <%=datasetname%>
WHERE <%=where%>
</t:text>
ResultSet mydata =
sasConnJDBC.executeQuery(SQLgetRecs);
然后用 Java 做任何你需要做的事情,或者通过在 Oracle 中每次迭代结果集或迭代结果集来交织插入以生成 SQL 插入值的文本块,然后将其提交给 Oracle JDBC。
只要您知道如何使用 JSP 并愿意了解我编写的文本块标记库的工作原理,它就只是一个 JSP。你看,我使用这种技术允许 JSP 运行已经在生产批处理模式下运行多年的 SAS 宏,而无需对宏进行任何更改。不仅如此,标签库还允许我将 java 和 jsp 变量解析嵌入到宏或 sas/sql 块中。
我编写了这个块文本标记库,因为我曾经在 Perl(2003 年之前)中执行此类操作,其中 Perl(和其他脚本语言)允许您将变量分配给脚本代码中的连续文本块。
标签库使用说明:
http://h2g2java.blessedgeek.com/2009/07/jsp-text-custom-tag.html
http://h2g2java.blessedgeek.com/2009/07/referencing-text-jsp-custom-tag-defined.html