小编Zeu*_*ssi的帖子

使用 util.execute 时如何在 SQLcl 脚本中获取 Oracle 异常?

我尝试使用 Oracle SQLcl 编写批处理文件。在此文件中,我想插入一个新的表行util.execute。这仅返回true/ false,这是成功/失败的布尔值返回。
我的问题是,我如何获取引发的异常的错误消息,以便我可以找出我的插入语句的问题所在。

我做什么:
首先,我连接到我的数据库服务器并启动我的脚本:

me@pc:/myproject$ /sqlcl/bin/sql schemaname/pw@server.com:1521/sid


SQLcl: Release 17.3.0 Production [...]

Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit [...]

SQL> 
SQL> @mybatchscript.js path/image.jpg
Run Code Online (Sandbox Code Playgroud)

我的mybatchscript.js看起来像这样:

script
var tabName = "MY_TABLE_NAME";
var HashMap = Java.type("java.util.HashMap");
var bindmap = new HashMap();
var filePath="&1";
print("\nreading file: "+ filePath);
var blob=conn.createBlob();
var bstream=blob.setBinaryStream(1);

java.nio.file.Files.copy(java.nio.file.FileSystems.getDefault().getPath(filePath),bstream);
bstream.flush();
bindmap.put("content",blob); // has content
bindmap.put("size",blob.length()); // is 341989
// the follow command fails
var doInsert …
Run Code Online (Sandbox Code Playgroud)

oracle error-handling exception sqlcl

2
推荐指数
1
解决办法
1431
查看次数

标签 统计

error-handling ×1

exception ×1

oracle ×1

sqlcl ×1