如何使用Oracle Forms将CSV列值插入块和表中?

时间:2019-03-28 07:13:23

标签: java oracle oracle11g oracleforms oracle-fusion-middleware

我正在将Oracle Database 11gR2与Oracle Forms and Reports 11gR2一起使用。

我用“ TEXTFIELD”创建了“浏览”按钮。当按下按钮,然后打开对话框并选择“ csv”文件,“ csv”路径文件将出现在“ TEXTFILED”中。为此,我使用了“ AWTFileDialog.jar”文件。

现在,我希望“ CSV”列值显示在“块”中,并且还要在按下“保存”按钮时将数据保存到表中。

我的表格:

enter image description here

如何实现这个目标?

谢谢

1 个答案:

答案 0 :(得分:1)

我不知道该如何使用Forms。我也不确定我会使用Forms。

但是,我还有两个选择:

  • SQL * Loader
  • 外部表(在后台也使用SQL * Loader)

第一个选项 SQL * Loader 需要您创建一个控制文件(请参阅文档,在这里https://docs.oracle.com/cd/B28359_01/server.111/b28319/ldr_concepts.htm#g1013706)。从命令提示符(在客户端计算机上)调用它时,如果使用的是更高版本,则使用HOST(如果使用Forms 6i)或CLIENT_HOST(Webutil)来调用包含SQLLDR.EXE调用的批处理脚本。

另一个选项外部表在数据库服务器上有效,因为您必须有权访问目录(Oracle对象)(即,授予该目录的读/写特权)。由于外部表就像一个“普通” Oracle表一样表示输入(CSV)文件,因此您可以针对它写SELECT并很容易地将数据加载到目标表中。

查看这些选项是否有帮助,或等待其他人的意见。