您的位置:首页 > 数据库

诡异的 "Error 45 initializing SQL*Plus - Internal error"

2013-01-18 20:49 387 查看
Long time no writing :(

最近一直在忙乱起八糟的事情,生活上,工作上。。。。

闲话不说了,今天碰到一个诡异的事情。其实要做的事情相当简单,就是在SQL*PLUS里面执行一堆SQL文件,为了管理清晰些,我把很多内容拆成了很多小的SQL文件,放到不同文件夹中,每个文件夹中都有一个index.sql文件包含这个文件夹下的所有sql文件,最后有个总的index.sql文件用来当做入口来执行。

就像如下这样:



比如说在Table\index.sql里面就包含了文件夹Tabe下所有的sql文件,

@@LXXXTTT.SQL
@@XXXXXX.SQL
@@register_objects.txt

本来是很简单的,应该没有任何问题,可是在运行的时候居然碰到如下问题,

Elapsed: 00:00:00.56
20:21:52 SQL> Error 45 initializing SQL*Plus
Internal error

脚本只是执行到Table\register_objects.txt就遇到这个问题了,不再往下执行了。register_objects里面只是运行一个SP而已,

--------------------------------------------------------------------
--!!Attention!!
--Put Foreign Key creation in this file
--------------------------------------------------------------------
BEGIN
PACssssT.CRsssTE_FK(v_table_name => 'LsDssss_ASSOCIATE',
v_child_columns => 'DsssENT_ENTRY_ID',
v_parent_table  => 'LO_DOsssNT_ENTRY',
v_parent_columns => 'ID',
v_delete_rule => 'cascade',
v_fpm_id   => 'Uss1676',
v_products => 'W');
END;
/
15 <空行>
16 <空行>



最后仔细瞅了瞅,发现这个文件最后有两个空行,去掉一个空行,然后运行就没有错了!! 相当诡异!!

--------

P.S.

写了一个小bat, 方便生成index.sql

@echo off
if exist index.sql del index.sql
dir *.sql /B /O N >> index.tmp
dir *.pks /B /O N >> index.tmp
dir *.pkb /B /O N >> index.tmp
dir *.txt /B /O N >> index.tmp
for /F %%i in (index.tmp) do echo @@%%i >> index.sql
del index.tmp
exit
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐