我有一个脚本需要连接到托管在不同服务器上的oracle db。我可以使用sqldeveloper 连接到这个oracle db。但我无法在我的bash 脚本中配置它。 SQLDEVELOPER 4.0 是我用来通过 gui 连接的工具。我如何在我的脚本中使用它。还有其他方法吗?我需要任何其他软件(sqlplus)
尝试使用以下一次:
sqlplus db_user_name/password_for_user@DB_schema < Input_file.sql > Output
您需要 sqlplus 来实现您想要做的事情。您需要放入 shell 脚本中的命令语法应如下所示:
sqlplus 'USER/PASSWORD@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=DB_HOST)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=SERVICE_NAME_YOU_USE_IN_SQLDEVELOPER)))'
在 *nix 系统上,这将创建一个 csv 结果流以标准输出:
java -Djava.security.egd=file///dev/urandom -jar jdbcsql.jar -d oracledb_SID -h $host -p 1521 -U some_username -m oracle -P "$PW" -f excel -s "," "$1"
请注意,添加
-Djava.security.egd=file///dev/urandom
会大大提高性能
Windows 命令类似:参见 http://jdbcsql.sourceforge.net/