有人能告诉我如何在不使用sql加载器或oracle数据库中的外部表的情况下上载平面文件吗?例如,oracle中是否有任何功能可用于完成此任务?请让我知道不同的方式来上传平面文件除了sql加载器和外部表。
xwbd5t1u1#
您可以编写一个pl/sql程序 UTL_FILE ,读取该文件的内容并将行插入到某个表中。您必须与dba对话以创建一个目录,向您授予对它的读/写权限(即,将加载数据的用户),可能还需要授予execute on UTL_FILE (再次对你说)。另一种选择是,如果数据库上安装了apex(oracle application express),则创建一个页面加载数据集(不用担心,您不必做任何事情,向导将为您创建所有内容)。我不知道后台是什么-也许是sql*loader,不知道,但是-你不会“显式”使用它,而是用gui做所有事情。
UTL_FILE
z9zf31ra2#
除了外部表之外,oraclesql没有其他的内置组件来加载csv。新的(-ish)sqlcl实用程序(sqlplus的替代品)具有 load csv文件的命令。了解更多。这对于临时加载大小合理的平面文件来说已经足够了。对于从客户端执行大量数据的加载,或者具有更多的控件,sqlloader仍然是首选工具。外部表格是自动加载的最佳选择。
load
2条答案
按热度按时间xwbd5t1u1#
您可以编写一个pl/sql程序
UTL_FILE
,读取该文件的内容并将行插入到某个表中。您必须与dba对话以创建一个目录,向您授予对它的读/写权限(即,将加载数据的用户),可能还需要授予execute onUTL_FILE
(再次对你说)。另一种选择是,如果数据库上安装了apex(oracle application express),则创建一个页面加载数据集(不用担心,您不必做任何事情,向导将为您创建所有内容)。我不知道后台是什么-也许是sql*loader,不知道,但是-你不会“显式”使用它,而是用gui做所有事情。
z9zf31ra2#
除了外部表之外,oraclesql没有其他的内置组件来加载csv。
新的(-ish)sqlcl实用程序(sqlplus的替代品)具有
load
csv文件的命令。了解更多。这对于临时加载大小合理的平面文件来说已经足够了。对于从客户端执行大量数据的加载,或者具有更多的控件,sqlloader仍然是首选工具。外部表格是自动加载的最佳选择。