如何在 oracle 数据库中不使用 SQL*loader 和外部 table 上传平面文件?

How to upload a flat file without using SQL*loader and external table in oracle database?

谁能告诉我如何在不使用 SQL*loader 或 oracle 数据库中的外部 table 的情况下上传平面文件? 比如oracle中有没有函数可以完成这个任务?

除了 SQL*loader 和外部 table.

,请告诉我上传平面文件的不同方法

Oracle SQL 除了用于加载 CSV 的外部表外,没有其他内置插件。

新的(-ish)sqlcl 实用程序(SQL*Plus 的替代品)有一个用于 CSV 文件的 load 命令。 Find out more。这对于临时加载合理大小的平面文件来说已经足够了。对于从客户端执行大量数据加载 - 或者具有更多控制 - SQL*Loader 仍然是首选工具。外部表是自动加载的最佳选择。

您可以编写一个 PL/SQL 程序,它将使用 UTL_FILE,读取该文件的内容并将行插入某些 table。您必须与 DBA 交谈以创建目录,将 read/write 权限授予 you(即加载数据的用户),可能授予执行 UTL_FILE(再次给)。


另一个选项 - 如果在该数据库上安装了 Apex (Oracle Application Express) - 是创建一个加载数据 页面集(别担心,你不需要必须做任何事情,向导会为您创建一切)。我不知道后台有什么 - 可能是 SQL*Loader,我说不出来,但是 - 你不会 "explicitly" 使用它,而是在 GUI 中做所有事情。