【问题标题】:how to unload from DBserver without using its OS to a remote server如何在不使用其操作系统的情况下从 DBserver 卸载到远程服务器
【发布时间】:2013-11-09 10:43:44
【问题描述】:

我在 oracle 数据库中遇到问题。我有一个托管服务的数据库,因此我无法看到 oracle 数据库的驱动器或文件夹。因此,使用 utl_file 的程序已停止工作,因为目录路径现在无效。

我将如何在 OS 文件系统上读写?我需要从加入 2-3 个 oracle 表中提取报告,并将数据提取到平面文件中。其中作为外部表,并且 utl_file 不能工作,因为由于托管层而无法定义目录路径,所以 oracle OS 层是不可见的。

另外,也不允许挂载数据库,也不给创建目录的权限。

请你帮帮我。谢谢。

【问题讨论】:

  • 我不明白这个问题。在这种情况下,“托管服务”是什么意思,这与您是否能够“查看 Oracle 数据库的驱动器或文件夹”有何关系。从程序开始运行到今天发生了什么变化。我的猜测是您说您在本地开发了一个依赖于utl_file 的应用程序,但您的应用程序现在由不允许访问主机文件系统的第三方托管。这么近吗?如果是这种情况,您需要重新考虑应用程序的设计或您选择的托管公司。

标签: plsql oracle11g utl-file


【解决方案1】:

如果您在该机器上具有 sysdba 权限,请执行以下操作:

SQL> CREATE DIRECTORY log_dir AS '/appl/gl/log'; 
SQL> GRANT READ ON DIRECTORY log_dir TO DBA; 
SQL> GRANT WRITE ON DIRECTORY log_dir TO DBA; 

如果您没有这些权限,请要求托管公司这样做。此外,您始终可以在本地驱动器上使用 sqlplus 编写报告文件。

【讨论】:

    猜你喜欢
    • 2019-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-24
    • 1970-01-01
    • 2016-05-17
    • 2014-05-23
    相关资源
    最近更新 更多