Oracle 在不使用UTL_文件的情况下,从PL/SQL中的文件读/写数据

Oracle 在不使用UTL_文件的情况下,从PL/SQL中的文件读/写数据,oracle,file-io,plsql,Oracle,File Io,Plsql,是否可以在不使用Oracle 10g中的UTL_文件包的情况下从PL/SQL块中的文件读写数据 我目前有一个包含一组主键(约28000)的文件,我需要查询表以获取需要写入文件的其他数据。我使用的模式非常受限,没有任何创建权限。此外,没有为UTL_文件中的过程设置必要的读/写权限以使其正常工作的目录。要求DBA提供额外特权将花费太多时间 有办法解决这个问题吗 提前谢谢 [编辑]我无法将数据加载到表中。没有要加载到的表或创建表的权限。我认为这是问题中最困难的部分。如果查询条件不能方便地作为查询本身的

是否可以在不使用Oracle 10g中的UTL_文件包的情况下从PL/SQL块中的文件读写数据

我目前有一个包含一组主键(约28000)的文件,我需要查询表以获取需要写入文件的其他数据。我使用的模式非常受限,没有任何创建权限。此外,没有为UTL_文件中的过程设置必要的读/写权限以使其正常工作的目录。要求DBA提供额外特权将花费太多时间

有办法解决这个问题吗

提前谢谢


[编辑]我无法将数据加载到表中。没有要加载到的表或创建表的权限。我认为这是问题中最困难的部分。如果查询条件不能方便地作为查询本身的一部分(即在单独的文件中),如何查询数据库?如果主键的数量很小,我可以生成许多select语句来提取sqlplus中的数据(使用spool),但28000似乎太大了。

如果您无法设置目录,我会说您运气不好。 您要求在数据库服务器上读取和创建文件。这是DBA应该知道的

您确定需要服务器上的文件吗?您能否将文件从客户端加载到表中(使用常用的客户端工具),并从表中读取/写入数据

更新:

我无法将数据加载到表中。没有要加载到的表或创建表的权限。如果主键的数量很小,我可以生成许多select语句来提取sqlplus中的数据(使用spool),但28000似乎太大了

28000不是那么多。客户端上的循环

  • 您可以使用UTL_TPC包使用TCP数据包写入FTP服务器
  • 最好在运行包之前将主键加载到表中,以允许pl/sql读取/写入主键表
  • 编写一个巨大的pl/sql程序,使用20000个键作为insert语句来构建内存中的表,并使用该表来查询/等等。然后使用sqlplus来假脱机结果。或者将结果通过电子邮件发送给自己的邮件包

  • 如果你不被允许做任何事情,你该怎么做?我说你应该放弃病态。与你的DBA交朋友,这对开发人员来说非常重要。我落入了过早优化的陷阱。谢谢你的提醒。UTL_TPC看起来很有趣。将来可能会派上用场。谢谢