Linux环境下sqlldr一个csv文件
本来是练习三思的书里一个sqlldr的小示例,就是把excel文件另存为csv后通过sqlldr加载到oracle数据库中。其目的本来是为了演示一
本来是练习三思的书里一个sqlldr的小示例,就是把excel文件另存为csv后通过sqlldr加载到Oracle数据库中。其目的本来是为了演示一下csv文件的sqlldr以及csv文件中的字符串中存在逗号, 和双引号”的处理方法,,结果却引出了一个让我困惑了一阵子的问题,说大不大说小不小,反复测试了一番,怀疑到了一个点上,最后一查果然是那个样子,再测试就通过了,下面总结一下。
顺便记录一个:
三思说要创建scott这个经典的schema要运行$ORACLE_HOME/rdbms/admin/scott.sql这个脚本的内容,而实际上我并没找到这个脚本,找到并运行的是utlsampl.sql
excel是这样子的:
SMITH CLEAK 3904
ALLEN SALER,M 2891
WARD SALER,"S" 3128
KING PRESIDENT 2523
另存为'ldr_case2.csv'后内容是:
SMITH,CLEAK,3904
ALLEN,"SALER,M",2891
WARD,"SALER,""S""",3128
KING,PRESIDENT,2523
一切看起都挺正常的,然后将csv上传到Oracle所在的linux服务器上,写好control文件:
load data
infile 'ldr_case2.csv'
truncate into table bonus
fields terminated by ',' optionally enclosed by '"'
(ename,job,sal)
执行加载后日志显示为失败:
Table BONUS, loaded from every logical record.
Insert option in effect for this table: TRUNCATE
Column Name Position Len Term Encl Datatype
------------------------------ ---------- ----- ---- ---- ---------------------
ENAME FIRST * , O(") CHARACTER
JOB NEXT * , O(") CHARACTER
SAL NEXT * , O(") CHARACTER
Record 1: Rejected - Error on table BONUS, column SAL.
ORA-01722: invalid number
Record 2: Rejected - Error on table BONUS, column SAL.
ORA-01722: invalid number
Record 3: Rejected - Error on table BONUS, column SAL.
ORA-01722: invalid number
Record 4: Rejected - Error on table BONUS, column SAL.
ORA-01722: invalid number
反复测试后,终于发现我把文件中的内容放到在linux下新建的文件中,加载OK,但是看起内容一样的csv怎么改都不行,我就怀疑看起来一样的东西是不是隐藏了什么不为我察觉的差异。带着这个疑问上网搜索了一下,果然有人遇到相同的问题,隐藏的差异就是csv文件行末藏了回车符。在linux下查看对比:
[oracle@nathan-rhel5 ~]$ cat -v ldr_case2.csv
SMITH,CLEAK,3904^M
ALLEN,"SALER,M",2891^M
WARD,"SALER,""S""",3128^M
KING,PRESIDENT,2523^M
[oracle@nathan-rhel5 ~]$ cat -v ldr_case2.dat0
SMITH,CLEAK,3904
ALLEN,"SALER,M",2891
WARD,"SALER,""S""",3128
KING,PRESIDENT,2523
原来作祟的就是文件行末的^M啊!!!
把csv文件转一下格式:
[oracle@nathan-rhel5 ~]$ dos2unix ldr_case2.csv
dos2unix: converting file ldr_case2.csv to UNIX format ...
[oracle@nathan-rhel5 ~]$ cat -v ldr_case2.csv
SMITH,CLEAK,3904
ALLEN,"SALER,M",2891
WARD,"SALER,""S""",3128
KING,PRESIDENT,2523
然后再重新加载一次数据成功了:
[oracle@nathan-rhel5 ~]$ vi ldr_case2.ctl
load data
infile 'ldr_case2.csv'
truncate into table bonus
fields terminated by ',' optionally enclosed by '"'
(ename,job,sal)
[oracle@nathan-rhel5 ~]$ sqlldr scott/tiger control=ldr_case2.ctl
SQL*Loader: Release 10.2.0.1.0 - Production on Sat Feb 22 22:47:31 2014
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Commit point reached - logical record count 4
[oracle@nathan-rhel5 ~]$ vi ldr_case2.log
Control File: ldr_case2.ctl
Data File: ldr_case2.csv
Bad File: ldr_case2.bad
Discard File: none specified
(Allow all discards)
Number to load: ALL
Number to skip: 0
Errors allowed: 50
Bind array: 64 rows, maximum of 256000 bytes
Continuation: none specified
Path used: Conventional
Table BONUS, loaded from every logical record.
Insert option in effect for this table: TRUNCATE
Column Name Position Len Term Encl Datatype
------------------------------ ---------- ----- ---- ---- ---------------------
ENAME FIRST * , O(") CHARACTER
JOB NEXT * , O(") CHARACTER
SAL NEXT * , O(") CHARACTER
Table BONUS:
4 Rows successfully loaded.

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











2025 년에 Global Digital Virtual Currency Trading Platform은 2025 년에 트랜잭션 볼륨, 보안 및 사용자 경험과 같은 지표를 기반으로 전 세계 10 대 디지털 가상 통화 거래 플랫폼을 권위있게 발표합니다. OKX는 강력한 기술 강점과 글로벌 운영 전략으로 1 위를 차지했으며 Binance는 높은 유동성과 낮은 수수료와 밀접한 관련이 있습니다. Gate.io, Coinbase 및 Kraken과 같은 플랫폼은 각각의 장점과 함께 최전선에 있습니다. 이 목록에는 Huobi, Kucoin, Bitfinex, Crypto.com 및 Gemini와 같은 거래 플랫폼이 각각 고유 한 특성을 지니고 있지만 투자는 신중해야합니다. 플랫폼을 선택하려면 보안, 유동성, 수수료, 사용자 경험, 통화 선택 및 규제 준수와 같은 요소를 고려해야합니다.

소인수−수론에서 양의 정수의 소인수는 정확히 소수로 나누어지는 소수입니다. 이 숫자를 찾는 과정을 정수 인수분해 또는 소인수분해라고 합니다. 예−288의 소인수는 다음과 같습니다: 288=2x2x2x2x2

상위 10 개 디지털 통화 거래 플랫폼 : 1. OKX, 2. BINANCE, 3. GATE.IO, 4. HUOBI GLOBAL, 5. KRAKEN, 6. COINBASE, 7. KUCOIN, 8. BITFINEX, 9. CRYPTO.COM, 10. GEMINI, 자체 특성을 보유하고 있으며,이 교환은 보안, 요소, 보안, 사용자를 기반으로하는 플랫폼을 선택할 수 있습니다.

상위 10 개의 가상 통화 거래 플랫폼 순위 (2025 년 최신) : BINANCE : 글로벌 리더, 높은 유동성 및 규제가 주목을 끌었습니다. OKX : 대규모 사용자 기반, 여러 통화를 지원하며 레버리지 거래를 제공합니다. Gate.io : 다양한 화폐 통화 지불 방법을 갖춘 선임 교환으로 다양한 거래 쌍 및 투자 제품을 제공합니다. BITGET : 파생 상품 교환, 높은 유동성, 낮은 수수료. HUOBI : 다양한 통화 및 거래 쌍을 지원하는 오래된 교환. 코인베이스 : 잘 알려진 미국 교환으로 엄격하게 규제되었습니다. Phemex 등.

이 기사는 10 개의 디지털 거래 앱을 권장한다. 플랫폼을 선택할 때 보안, 유동성, 거래 수수료, 통화 선택, 사용자 인터페이스, 고객 서비스 지원 및 규제 준수와 같은 요소를 고려하고 위험을 신중하게 평가하고 맹목적으로 추세를 따르지 않아야합니다.

이 기사는 Binance, Okx, Gate.io, Huobi Global, Coinbase, Kucoin, Kraken 및 Bitfinex와 같은 주류 디지털 통화 거래 플랫폼에 대한 Android 및 Apple Mobile 앱 다운로드 방법을 제공합니다. Android 사용자이든 Apple 사용자이든 상관없이 해당 플랫폼의 공식 앱 다운로드 링크를 쉽게 찾아 단계에 따라 설치를 완료 할 수 있습니다. 이 기사는 해당 공식 웹 사이트 또는 앱 스토어에서 검색 및 다운로드에 대한 자세한 지침을 제공하며 Android에 APK 파일을 설치하는 특별 단계에 대한 지침을 제공하여 사용자가 빠르고 쉽게 다운로드하여 사용할 수 있습니다.

신뢰할 수있는 디지털 통화 플랫폼은 다음과 같습니다. 1. OKX, 2. BINANCE, 3. GATE.IO, 4. HUOBI GLOBAL, 5. COINBASE, 7. BITFINEX, 9. CRYPTO.com, GEMINI는 이들 교환을 기반으로하는 플랫폼을 선택할 수 있습니다.

상위 10 개는 다음과 같습니다. 순위는 플랫폼 유동성, 통화 선택, 보안, 사용자 경험, 수수료 및 규정 준수와 같은 포괄적 인 고려 사항을 기반으로하지만 투자는 신중하고 자신의 위험에 처해 있어야합니다.
