在本地机器上创建目录
Creating Directories on a local machine
在 PL/SQL 中是否有任何选项在本地 PC 中使用已连接的数据库名称创建目录?
host mkdir C:\TestDir\ || select name from v$database;
输出应如下所示:C:\TestDir\MySampleOraDatabaseName
谢谢!
您可以使用从查询中设置的替代变量;这是来自 SQL*Plus 但同样的事情应该在 PL/SQL 开发者:
column x_name new_value y_name
select name as x_name from v$database;
host mkdir C:\TestDir\&y_name
真正的 name
值被赋予别名 x_name
,并且 column ... new_value
子句使该值可用作 &y_name
。 (当然你可以选择你自己的aliases/names。)
或在变量中包含完整路径:
column x_path new_value y_path
select 'C:\TestDir\' || name as x_path from v$database;
host mkdir "&y_path"
我已将完整路径用引号引起来,以防您的真实目录包含空格。
然后您可以在假脱机命令等中使用相同的替换变量
你不能做的是在你的本地客户端机器上有一个目录,它是数据库目录对象的目标——那些必须是打开的,或者至少是可见的至,数据库 运行 所在的服务器。不过那可能不是你的目标。
在 PL/SQL 中是否有任何选项在本地 PC 中使用已连接的数据库名称创建目录?
host mkdir C:\TestDir\ || select name from v$database;
输出应如下所示:C:\TestDir\MySampleOraDatabaseName
谢谢!
您可以使用从查询中设置的替代变量;这是来自 SQL*Plus 但同样的事情应该在 PL/SQL 开发者:
column x_name new_value y_name
select name as x_name from v$database;
host mkdir C:\TestDir\&y_name
真正的 name
值被赋予别名 x_name
,并且 column ... new_value
子句使该值可用作 &y_name
。 (当然你可以选择你自己的aliases/names。)
或在变量中包含完整路径:
column x_path new_value y_path
select 'C:\TestDir\' || name as x_path from v$database;
host mkdir "&y_path"
我已将完整路径用引号引起来,以防您的真实目录包含空格。
然后您可以在假脱机命令等中使用相同的替换变量
你不能做的是在你的本地客户端机器上有一个目录,它是数据库目录对象的目标——那些必须是打开的,或者至少是可见的至,数据库 运行 所在的服务器。不过那可能不是你的目标。