SQLCL正是我所需要的,但我在一件小事上遇到了很大的困难:
我想制作一个带有自动连接的脚本(批处理文件),并且只是在EXPORT CSV之后(在远程桌面上:不在服务器上).
所以我在批处理文件中使用带有SQLCL的管道方法:
echo SET SQLFORMAT CSV <
echo SPOOL export.csv <
echo SELECT COUNT(*) FROM ARTICLE; <
echo SPOOL OFF | C:\Work\Soft\sqlcl\bin\sql.exe login/passwd@xxx.xxx.xxx.xxx:1521/DB.SCH
Run Code Online (Sandbox Code Playgroud)
它正在工作(在控制台中没有错误),但是,找不到文件export.csv:当我改变目的地时,c:\...它也在工作,但是找不到创建的文件.它与SQL Developer一起正常运行,文件在我的dekstop上创建,所以我不明白为什么SQLCL的情况不同.
你有:
你怎么能得到你的SQL*Plus连接?
我尝试使用 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) 我可以使用SQLDeveloper连接到远程数据库.
我试图从命令行使用sqlcl连接到同一个数据库,但我收到一个错误.
这是我正在运行的命令:
/bin/sql username/pass@delphix-vdb-n-1.va2.b2c.nike.com:1521/vdbsl14
Run Code Online (Sandbox Code Playgroud)
我也尝试过:
/bin/sql username/pass@//delphix.......etc.
Run Code Online (Sandbox Code Playgroud)
这是我收到的错误:
SQLcl: Release 4.2.0.16.131.1023 RC on Wed Jun 15 11:36:33 2016
Copyright (c) 1982, 2016, Oracle. All rights reserved.
USER = username
URL = jdbc:oracle:thin:@delphix-vdb-n-1.va2.b2c.nike.com:1521/vdbsl14
Error Message = Listener refused the connection with the following error:
ORA-12514, TNS:listener does not currently know of service requested in connect descriptor
Username? (RETRYING) ('username/*********@delphix-vdb-n-1.va2.b2c.nike.com:1521/vdbsl14'?)
Run Code Online (Sandbox Code Playgroud)
同样在SQLDeveloper中,我只是在"自定义jdbc url"下输入以下内容并且它连接没有任何问题,所以我希望我可以使用相同的URL通过命令行连接,但到目前为止,它无法正常工作:
jdbc:oracle:thin:@delphix-vdb-n-1.va2.b2c.nike.com:1521:vdbsl4
Run Code Online (Sandbox Code Playgroud)