Oracle假脱机位置

9q78igpj  于 2022-10-04  发布在  Oracle
关注(0)|答案(3)|浏览(240)

我正在使用SQL Developer假脱机一些包的DDL,但我无法确定服务器假脱机的位置。Oracle安装在AIX上,但我不知道它使用哪个用户连接到操作系统。

基本上,当我跑步的时候:

spool test.lst

select 1 from dual;

spool off

我在控制台中收到确认消息

而且,每当我尝试提供路径时,都会收到一个错误,可能是因为用户权限:

spool /tmp/test.lst
select 1 from dual;
spool off

Cannot create SPOOL file /tmp/test.lst 
1                      
---------------------- 
1

所以我的问题是Test.lst在哪里?

lmyy7pcs

lmyy7pcs1#

后台打印是一个客户端活动,而不是服务器活动;.lst文件将在SQL Developer所在的计算机上创建,而不是在它连接到的数据库所在的服务器上创建。

在Windows 7和SQL Developer 3.1中,默认情况下,我似乎将.lst存储在%APPDATA%\Sql Developer\

您可以假脱机到特定的目录,例如spool c:\windows\temp\test.lst,如果您设置了它,可以使用类似spool \\<aix-server>\<dir>\test.lst的内容。当然,路径会因您的客户端操作系统而异。

bihw5rsg

bihw5rsg2#

在我的Linux安装下,默认的假脱机目录是您运行sqlplus的目录。也就是说。如果从您没有写入权限的目录运行sqlplus,它将失败。

试着输入“!”或在SQLplus提示符下输入“host”以转到操作系统。Pwd目录的结尾位置,我猜这是您的假脱机的位置。

(键入Exit可返回到Sqlplus)

kxeu7u2r

kxeu7u2r3#

另一个人所说的默认位置对于oracle10g来说是正确的,但由于我使用的是最新的oracle21c(在撰写本文时),下面是对我有效的解决方案。

假设您创建了一个假脱机文件:spool on;``spool tempfile;,则默认位置将位于安装Oracle数据库软件的位置,在我的示例中为
D:\WINDOWS.X64_213000_db_home\bin

然后在

Bin文件夹该文件将被创建为tempfile.LST,要打开.lst文件,只需使用默认记事本或任何类似的编辑器来打开输出

然而,我有一个更好的建议:在这里输入spool on;``SPOOL C:/path/xyz.txt;#更改您的目录、查询文件的路径名和文件名,最重要的是不要忘记在查询的末尾键入spool off。如果您忘记了,那么您的文件将不会被创建,并且您将丢失保存的输出的所有进度。让我给你另一个*专业技巧:*那就是不要写相同的假脱机文件名,否则它将被覆盖

相关问题