【问题标题】:Creating Table using Local CSV File使用本地 CSV 文件创建表
【发布时间】:2015-10-27 16:14:12
【问题描述】:

我有以下查询来创建表,但是文件名位于我的本地计算机上(因为我无权访问 Oracle Box)如何使用本地文件在 Oracle 数据库上创建表)。我看到的所有示例都假定该文件位于 Oracle 数据库服务器上。

CREATE OR REPLACE DIRECTORY file_dir AS 'c:/temp';
GRANT WRITE ON DIRECTORY file_dir TO CPS_OWNER;

create table CPS_OWNER.TEMP_TOGGLE_LIST (
      USER_ID varchar2(30)   
    )
    organization external (
      type oracle_loader
      default directory file_dir
      access parameters (records delimited by newline fields)
     location ('users.csv')
  )
  reject limit unlimited;

【问题讨论】:

  • 如果数据文件对数据库服务器的文件系统不可用,则无法创建外部表。您可以创建一个普通的堆组织表并通过在客户端计算机上运行SQL*Loader 来加载它(假设客户端计算机上安装了SQL*Loader),或者您可以使用SQL Developer 导入实用程序。 SQL Developer 对于一次性加载可能更容易,如果您想编写脚本,SQL*Loader 可能是首选。

标签: oracle oracle-sqldeveloper


【解决方案1】:

在 SQL Developer 中右键单击连接树中的 Tables 节点。

选择“导入数据”

指向您的 CSV 文件。

通过向导。

我用截图here详细讨论了这个。

或者,watch the Movie

【讨论】:

  • 再简单不过了!
  • 是“导入”到服务器上的数据库,还是仅在给定查询的“临时”内存中? (我是新手,不熟悉正确的术语/概念)
  • 行被插入到表中...一旦发生 COMMIT,每个人都可以看到数据,在 COMMIT 之前,只有您会在会话中看到数据。
猜你喜欢
  • 2014-10-01
  • 2020-08-04
  • 1970-01-01
  • 1970-01-01
  • 2011-05-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-15
相关资源
最近更新 更多