Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在执行.sql文件时获取oracle错误_Java_Sql_Oracle - Fatal编程技术网

Java 如何在执行.sql文件时获取oracle错误

Java 如何在执行.sql文件时获取oracle错误,java,sql,oracle,Java,Sql,Oracle,当我执行一个为我做的.sql文件(即Alter)时,如果发生错误,比如说&3参数错误,那么将引发oracle异常,我如何获得oracle错误。如何将此异常从命令行获取到java?是否有可能这样做,或者说没有?要让SQL*Plus返回错误代码,请在sqlerror退出SQL.sqlcode时使用启动脚本。我不确定Java是如何处理操作系统返回代码的,但下面是一个示例,显示了它在DOS命令提示符下的工作方式: SQL> whenever sqlerror exit sql.sqlcode; S

当我执行一个为我做的.sql文件(即
Alter
)时,如果发生错误,比如说
&3
参数错误,那么将引发oracle异常,我如何获得oracle错误。如何将此异常从命令行获取到java?是否有可能这样做,或者说没有?

要让SQL*Plus返回错误代码,请在sqlerror退出SQL.sqlcode时使用
启动脚本。我不确定Java是如何处理操作系统返回代码的,但下面是一个示例,显示了它在DOS命令提示符下的工作方式:

SQL> whenever sqlerror exit sql.sqlcode;
SQL> select * from dual where this_column_doesnt_exist = 1;
select * from dual where this_column_doesnt_exist = 1
                         *
ERROR at line 1:
ORA-00904: "THIS_COLUMN_DOESNT_EXIST": invalid identifier


Disconnected from Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production

C:\>echo Exit Code is %errorlevel%
Exit Code is 904

要让SQL*Plus返回错误代码,请在sqlerror退出SQL.sqlcode时使用
启动脚本。我不确定Java是如何处理操作系统返回代码的,但下面是一个示例,显示了它在DOS命令提示符下的工作方式:

SQL> whenever sqlerror exit sql.sqlcode;
SQL> select * from dual where this_column_doesnt_exist = 1;
select * from dual where this_column_doesnt_exist = 1
                         *
ERROR at line 1:
ORA-00904: "THIS_COLUMN_DOESNT_EXIST": invalid identifier


Disconnected from Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production

C:\>echo Exit Code is %errorlevel%
Exit Code is 904
您正在尝试从java代码启动SQL*Plus吗?您正在尝试从java代码启动SQL*Plus吗?