暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle SQLPlusW的替代方案

askTom 2017-10-19
737

问题描述

大家好,
我在互联网上阅读了很多东西,并且正在寻找sqlplusw.exe的替代品。问题是,我已经写了很多脚本和sqlplusw.exe,你可以通过读取一个sqlfile设置路径。我所看到的解决方案包括sqldeveloper不提供该解决方案。

示例: 我已将脚本存储在以下位置: D:\ SQLScripts \ Program1 \ test1.sql和D:\ SQLScripts \ Program2 \ test2.sql

使用SQLPlusW时,我可以转到文件并打开第一个test1.sql文件,这也导致SQLPlus设置正确的路径。所以在那个脚本中,我有一个像这样的假脱机命令: output/output.txt。test2.sql也是如此。

我还没有遇到任何SQL CLI,您可以在其中阅读适当的脚本,该脚本还设置了脚本位置的正确路径。这样你就可以相对地假脱机输出。

现在的问题是:
有没有一个很好的选择SQLPlusW,它有所有的,我的意思主要是文件 \ 打开功能来设置主目录,这样你就可以在不使用脚本的完整路径的情况下相对地假脱机和调用其他脚本。如果最终移动脚本,则必须再次将所有假脱机位置更改为新的完整路径是不好的。

谢谢你的帮助。

问候,


专家解答

您正在使用哪个版本的SQL Developer,以及您如何运行脚本?

使用最新版本 (17.3.1.279),当我运行使用 @ 调用它们的脚本时,假脱机输出转到 % APPDATA % \ Sql Developer \

但是,如果我打开SQL文件,然后在脚本模式 (F5) 下运行它,结果就会出现在我打开文件的任何地方:

C:\Users\csaxon\Documents\Scripts>dir output
 Volume in drive C is System
 Volume Serial Number is 4416-06A6

 Directory of C:\Users\csaxon\Documents\Scripts\output

19/10/2017  15:09              .
19/10/2017  15:09              ..
               0 File(s)              0 bytes
               2 Dir(s)  97,226,600,448 bytes free

C:\Users\csaxon\Documents\Scripts>type spool-test.sql
spool output\out.log
select 'SPOOLED' t from dual;
spool off

-- open spool-test.sql in SQL Developer, hit F5 then

C:\Users\csaxon\Documents\Scripts>dir output
 Volume in drive C is System
 Volume Serial Number is 4416-06A6

 Directory of C:\Users\csaxon\Documents\Scripts\output

19/10/2017  15:10              .
19/10/2017  15:10              ..
19/10/2017  15:10                28 out.log
               1 File(s)             28 bytes
               2 Dir(s)  97,226,989,568 bytes free

C:\Users\csaxon\Documents\Scripts>type output\out.log
T
SPOOLED
复制


这就是你要找的,对吧?

或者,如果您使用的是SQLcl,您可以在其中使用cd来更改目录,就像在命令提示符下一样。所以你可以根据需要设置目录:

C:\Users\csaxon\Documents\Scripts>type spool-test-cl.sql
cd output
spool clout.log
select 'SPOOLED' t from dual;
spool off

C:\Users\csaxon\Documents\Scripts>sql.exe chris/xxxxx@db

SQLcl: Release 17.3.0 Production on Thu Oct 19 15:07:08 2017

Copyright (c) 1982, 2017, Oracle.  All rights reserved.

Last Successful login time: Thu Oct 19 2017 15:07:11 +01:00

Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options


SQL> @spool-test-cl
T
SPOOLED


SQL> exit

Disconnected from Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options

C:\Users\csaxon\Documents\Scripts>dir output
 Volume in drive C is System
 Volume Serial Number is 4416-06A6

 Directory of C:\Users\csaxon\Documents\Scripts\output

19/10/2017  15:12              .
19/10/2017  15:12              ..
19/10/2017  15:12                28 clout.log
19/10/2017  15:10                28 out.log
               2 File(s)             56 bytes
               2 Dir(s)  97,223,872,512 bytes free

C:\Users\csaxon\Documents\Scripts>type output\clout.log
T
SPOOLED

复制

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论