【问题标题】:Creating Directories on a local machine在本地机器上创建目录
【发布时间】:2021-11-14 01:50:26
【问题描述】:

是否有任何选项可以在本地 PC 中使用 PL/SQL 中连接的数据库名称创建目录?

host mkdir C:\TestDir\ || select name from v$database;

输出应如下所示:C:\TestDir\MySampleOraDatabaseName

谢谢!

【问题讨论】:

  • PL/SQL 在数据库服务器上的数据库中运行。现在您希望该数据库服务器“破坏”安全协议,通过网络访问您自己的 PC 并在其硬盘上创建一个目录。与其提出“解决方案”,不如描述“问题”,以便有人提出适当的解决方案。因为,你想要的不是什么。
  • host 是客户端命令,不是 PL/SQL,甚至不是 SQL。

标签: plsql oracle11g plsqldeveloper


【解决方案1】:

您可以使用从查询中设置的替换变量;这是来自 SQL*Plus 但同样的事情应该在 PL/SQL Developer 中工作:

column x_name new_value y_name
select name as x_name from v$database;
host mkdir C:\TestDir\&y_name

真正的name 值被赋予别名x_namecolumn ... new_value 子句使该值作为&y_name 可用。 (当然,您可以选择自己的别名/名称。)

或者在变量中包含完整路径:

column x_path new_value y_path
select 'C:\TestDir\' || name as x_path from v$database;
host mkdir "&y_path"

如果您的真实目录包含空格,我已将完整路径括在引号中。

然后您可以在假脱机命令等中使用相同的替换变量。

不能做的是在你的本地客户端机器上有一个目录,它是数据库目录对象的目标——这些目录必须在服务器上,或者至少对服务器可见( s) 数据库正在运行。不过,这可能不是您的目标。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-11-10
    • 2012-09-24
    • 2017-12-14
    • 2013-10-11
    • 1970-01-01
    • 2021-11-11
    • 2015-02-03
    • 2012-05-28
    相关资源
    最近更新 更多