database - 使用sql将文件csv中的数据导入Oracle

标签 database oracle csv import

我正在使用 Oracle 10g,SQL Developer 我想知道是否有任何方法可以使用 sql 查询从 CSV 文件导入数据,其中字段由 ',' 分隔,行由 '\n' 终止 我试过这个查询

LOAD DATA INFILE 'C:/tmp.csv' INTO TABLE CSVTEST2 FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' IGNORE 1 lines (ID,FIRSTNAME,LASTNAME,BIRTHDATE);

但它没有用,我总是从 sql Developer 那里收到错误消息,告诉我Unknow command

最佳答案

您需要使用 sqlldr 实用程序才能加载数据。首先根据您的要求创建一个控制文件(以 .ctl 扩展名结尾),如下所述。

load data
infile 'path_where_file_is_placed_followed_by_file_name'
into table table_name_where_you_want_to_insert_the_data_of_csv_file
fields terminated by ','  lines terminated by '\n' 
(
field1 datatype,
field2 datatype,
field3 datatype
)

现在执行 sqlldr 实用程序以加载数据,如下所述。

sqlldr userid=database_username/password@instance_name control=path_where_control_file_is_placed_followed_by_control_file_name LOG=path_for_log_file BAD=path_for_bad_records Discard=path_for_discard_records

关于database - 使用sql将文件csv中的数据导入Oracle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35646883/

相关文章:

windows - 通过cmd文件在csv文件末尾追加时间

python - 使用 Pandas reshape 2 列的数据

mysql - Amazon RDS - 使用用户凭证将 MySql 数据库从 EC2 迁移到 RDS

mysql - 使用CTL从oracle导入到mysql

php - 按顺序在数据库中搜索名称,但不唯一

java - 如何使用 Java JDBC 从数据库中获取所有触发器名称?

sql - GROUP BY的局限性

python - 如何在python中将选定的数据从一列移动到另一列

database - 水平扩展 Postgres

security - 选择安全 DBMS 以防止直接磁盘访问