Plsql 将CSV导入Oracle数据库

Plsql 将CSV导入Oracle数据库,plsql,Plsql,有人能帮我将.CSV文件导入Oracle表的plsql存储过程吗?想要创建一个接受文件名和表名的过程 注意:我使用的是UTF-8文件格式您必须创建一个目录,并将其指向文件所在的文件夹。(您需要权限才能创建该文件) 存储在数据库中的pl/sql过程无法在桌面上运行。你可以 为此目的使用实用程序 编写一个程序来读取和解析文件,并在表中插入数据 将文件发送到您的数据库可以访问的地方,并使用例如或编写一些程序来读取文件(如在其中一个答案中的get\u file) 我认为最简单的方法是使用外部表。这个对

有人能帮我将
.CSV
文件导入Oracle表的plsql存储过程吗?想要创建一个接受文件名和表名的过程


注意:我使用的是UTF-8文件格式

您必须创建一个目录,并将其指向文件所在的文件夹。(您需要权限才能创建该文件)


存储在数据库中的pl/sql过程无法在桌面上运行。你可以

  • 为此目的使用实用程序
  • 编写一个程序来读取和解析文件,并在表中插入数据
  • 将文件发送到您的数据库可以访问的地方,并使用例如或编写一些程序来读取文件(如在其中一个答案中的
    get\u file

    • 我认为最简单的方法是使用外部表。这个对象被视为一个表,但他从文件中读取数据。要获得此权限,您需要创建任何目录。 因此,首先创建directort:

      CREATE OR REPLACE DIRECTORY imp_data AS 'c:\tmp\'; 
      
      或服务器上的任何其他路径目录。下一步你需要批准它

      GRANT READ, WRITE ON DIRECTORY imp_data TO PUBLIC;
      
      现在是最好的部分:)


      该文件是在数据库服务器上(或可访问),还是在某些桌面上?它仅在桌面上。但我的文件类型为UTF8
      GRANT READ, WRITE ON DIRECTORY imp_data TO PUBLIC;
      
      CREATE TABLE imp_data (
        ID NUMBER(20),
        NAME VARCHAR2(50),
        CITY VARCHAR2(200)
      )
      ORGANIZATION EXTERNAL
      (TYPE ORACLE_LOADER --this is the read-file driver
        DEFAULT DIRECTORY imp_data
        ACCESS PARAMETERS
          RECORDS DELIMITED BY NEWLINE
          BADFILE 'bad'
          LOGFILE 'log'
          FIELDS TERMINATED BY ',' -- CSV terminate mark
          (ID, NAME, CITY)) -- the order of the columns in the file
        LOCATION ('dane.csv')) -- name of file
       PARALLEL 5
       REJECT LIMIT 200; -- numbers of bad row before break import