这是我的 SQL*Loader:版本 11.2.0.2.0 - 2023 年 11 月 10 日星期五 00:39:56 生产 OS=UBUNTU 20
我正在尝试借助以下代码从 csv 文件加载数据:
OPTIONS (SKIP=1)
LOAD DATA
INFILE '/home/oracle/airports.csv'
INTO TABLE airportDemoData
fields terminated by ',' optionally enclosed by '"'
(
country nvarchar2(48),
country_code varchar2(2),
city nvarchar2(48),
city_code varchar2(3),
airport nvarchar2(84),
airport_code varchar2(3)
)
这是我在 oracle 用户中运行的 sqlldr 命令:
sqlldr login/pass control=airport.ctl LOG=airport.log
这是我面临的错误:
SQL*Loader: Release 11.2.0.2.0 - Production on Fri Nov 10 00:39:56 2023
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
SQL*Loader-350: Syntax error at line 7.
Expecting "," or ")", found "nvarchar2".
country nvarchar2(48),
^
请帮我指出我哪里出错了
此致
NVARCHAR
不是有效的 SQL Loader 数据类型。SQL Loader 数据类型不会 1:1 映射到数据库列数据类型。对于分隔文件,您必须使用char
.请参阅文档:https://docs.oracle.com/cd/E11882_01/server.112/e22490/ldr_field_list.htm#SUTIL1151
关于使用 VARCHAR:
和字符:
所以你的字段规范应该是这样的: