答案 0 :(得分:0)
您是否使用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。 BTW不要试图用纸上列出的联系方式联系我 - 它们很古老。
回应您的进一步陈述:
我认为您想要一种使用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, 通过每次迭代Resultset在Oracle中交织插入 或迭代结果集以生成SQL插入VALUES的文本块 然后将其提交给Oracle JDBC。
如果您知道如何使用JSP并且愿意理解我编写的文本块标记库是如何工作的,那么它只是一个JSP。你看,我使用这种技术允许JSP运行已经在生产批处理模式下运行多年的SAS宏,而不需要对宏进行任何更改。不仅如此,标签lib允许我将java和jsp变量分辨率嵌入到宏或sas / sql块中。
我编写了这个块文本标记lib,因为我曾经在Perl(2003之前)中执行过这样的操作,其中Perl(和其他脚本语言)允许您将变量分配给代码中的连续文本块。脚本。
使用标签lib的说明:
http://h2g2java.blessedgeek.com/2009/07/jsp-text-custom-tag.html
http://h2g2java.blessedgeek.com/2009/07/referencing-text-jsp-custom-tag-defined.html