我有一些XML文件,我想通过使用sqlplus的批处理文件进程上传到Oracle数据库中。 我通过我的XML文件的循环是这样的:批处理文件传递xml文件内容到sqlplus
for %%f in (%FILE%) do (
call :load_file %%f
)
%FILE%可能是一个问题还有,不是100%肯定。这个变量被设置为:
set FILE=%CURRENT_DIRECTORY%\File1_*.xml
..并且应该拉取与该模式匹配的任何文件。
In:load_file我需要实际的文件内容(作为字符串)传递给sqlplus。我有以下的地方,%1是文件名称本身。我实际上需要将XML文件内容传递给我的sqlplus命令,以便内容可以实际插入到Oracle数据库中。
:load_file
set FILECONTENTS=?
sqlplus -S %DB_USER%/%DB_PASSWORD%@%DB_SID% @insert_xml_into_db.sql %1 %FILECONTENTS%
我也可能在寻找/思考这个错误。任何建议,将不胜感激。有更容易的方法吗?
这是行不通的。你不能这样做。请参阅此以获取适当的解决方案 - https://docs.oracle.com/database/121/ADXDB/xdb25loa.htm#ADXDB2900 – OldProgrammer
这很让人伤心。是否没有办法至少将文件逐行读入批处理变量,然后通过sqlplus传递该变量? – Airborne