【发布时间】:2017-10-09 15:29:01
【问题描述】:
我有想要通过使用 sqlplus 的批处理文件过程上传到 Oracle DB 的 XML 文件。 我正在像这样遍历我的 XML 文件:
for %%f in (%FILE%) do (
call :load_file %%f
)
%FILE% 也可能是一个问题,不是 100% 确定的。这个变量的设置如下:
set FILE=%CURRENT_DIRECTORY%\File1_*.xml
..并且应该提取任何与模式匹配的文件。
在 :load_file 中,我需要将实际文件内容(作为字符串)传递给 sqlplus。我有以下内容,其中 %1 是文件名本身。我实际上需要将 XML 文件内容传递给我的 sqlplus 命令,以便将内容实际插入 Oracle DB。
:load_file
set FILECONTENTS=?
sqlplus -S %DB_USER%/%DB_PASSWORD%@%DB_SID% @insert_xml_into_db.sql %1 %FILECONTENTS%
我可能也在寻找/思考这个错误。任何建议,将不胜感激。有没有更简单的方法?
【问题讨论】:
-
那行不通。你不能这样做。请参阅此以获得适当的解决方案 - docs.oracle.com/database/121/ADXDB/xdb25loa.htm#ADXDB2900
-
这很可悲。有没有办法至少将文件逐行读入批处理变量,然后通过sqlplus传递该变量?
标签: oracle batch-file plsql sqlplus