Sql 尝试将文本文件的内容插入到Oracle表中

Sql 尝试将文本文件的内容插入到Oracle表中,sql,database,oracle,plsql,Sql,Database,Oracle,Plsql,我有大约500个Linux脚本。我正在尝试将每个脚本的源代码插入到Oracle表中: 创建表“脚本\代码”( “脚本名称”VARCHAR2(200字节), “代码行”编号(*,0), “代码文本”VARCHAR2(2000字节) ) 我正在使用一个(痛苦的)手动Excel解决方案。打开每个脚本并将代码粘贴到列中。我遇到了困难,改变了方向 我决定更改表,并将每个脚本中的全部源代码放入CLOB字段中 创建表“SCRIPT\u code\u CLOB”( “脚本名称”VARCHAR2(200字节),

我有大约500个Linux脚本。我正在尝试将每个脚本的源代码插入到Oracle表中:

创建表“脚本\代码”(
“脚本名称”VARCHAR2(200字节),
“代码行”编号(*,0),
“代码文本”VARCHAR2(2000字节)
)
我正在使用一个(痛苦的)手动Excel解决方案。打开每个脚本并将代码粘贴到列中。我遇到了困难,改变了方向

我决定更改表,并将每个脚本中的全部源代码放入CLOB字段中

创建表“SCRIPT\u code\u CLOB”(
“脚本名称”VARCHAR2(200字节),
“代码文本”CLOB
)
以下是我编写的插入代码:

set-define-off;
声明代码Clob;
脚本Varchar2(100);
sql_exec varchar2(1000);
开始
脚本:=“某些脚本名称”
;
代码:='
[此处粘贴代码]
'
;
sql_exec:=“插入脚本_代码_CLOB值(:1,:2)”;
使用脚本、代码执行立即(sql_exec);
犯罪
结束;
在我遇到一个有1700行代码的脚本之前,这一切都很顺利。当我粘贴所有代码并运行脚本时,它给了我:

ORA-01704:字符串文字太长
我正在寻找一种更好的方法。是否有可能以某种方式导入文件并使过程自动化

Oracle数据库中有一些外部表,我可以找到它们指向的文件夹位置

非常感谢您的帮助。 -史蒂夫

环境: Oracle数据库11g企业版11.2.0.3.0版-64位生产
Oracle SQL Developer版本4.0.2.15,Build 15.21要插入clob,您需要使用DBMS_LOB函数(特别是DBMS_LOB.WRITE),而不是将其读入变量并直接传递到insert语句中。检查一下包裹的包装。您需要将数据读入缓冲区或临时lob,然后在插入中使用。

感谢您的回复。我最终实现了手动Excel流程。对于其他可能读到这篇文章的人。。。发现将代码粘贴到Excel中会将其分为多个列,所以我添加了一个连接列,将它们粘在一起。对于每个代码部分,我都使用自动编号公式来获取行号。之后,我将其输出到csv中,并直接导入Oracle。谢谢你的帮助,克里斯