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