首頁 資料庫 mysql教程 Linux环境下sqlldr一个csv文件

Linux环境下sqlldr一个csv文件

Jun 07, 2016 pm 04:47 PM
數位

本来是练习三思的书里一个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.

linux

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

全球數字虛擬幣交易平台排行榜前十(2025權威排名) 全球數字虛擬幣交易平台排行榜前十(2025權威排名) Mar 06, 2025 pm 04:36 PM

2025年全球數字虛擬幣交易平台競爭激烈,本文根據交易量、安全性、用戶體驗等指標,權威發布2025年全球十大數字虛擬幣交易平台排行榜。 OKX憑藉強大的技術實力和全球化運營策略居首,Binance以高流動性和低費用緊隨其後。 Gate.io、Coinbase、Kraken等平台憑藉各自優勢穩居前列。榜單涵蓋Huobi、KuCoin、Bitfinex、Crypto.com和Gemini等交易平台,各有特色,但投資需謹慎。選擇平台需考慮安全性、流動性、費用、用戶體驗、幣種選擇及監管合規性等因素,理性投資

C程式用來求出一個數的最大質因子 C程式用來求出一個數的最大質因子 Aug 27, 2023 am 10:09 AM

質因數 - 在數論中,正整數的質因數是精確整除該整數的質因數。找出這些數字的過程稱為整數分解或質因數分解。例 - 288 的質因數是:288=2x2x2x2x2

十大數字貨幣交易平台 數字貨幣交易平台top10榜單最新 十大數字貨幣交易平台 數字貨幣交易平台top10榜單最新 Mar 17, 2025 pm 05:57 PM

十大數字貨幣交易平台:1. OKX,2. Binance,3. Gate.io,4. Huobi Global,5. Kraken,6. Coinbase,7. KuCoin,8. Bitfinex,9. Crypto.com,10. Gemini,這些交易所各具特色,用戶可根據安全性、費用、幣種選擇、用戶界面和客戶支持等因素選擇適合自己的平台。

幣圈十大交易所2025年最新 數字貨幣app排行榜前十 幣圈十大交易所2025年最新 數字貨幣app排行榜前十 Feb 27, 2025 pm 06:33 PM

虛擬貨幣十大交易平台排行榜(2025年最新): 幣安:全球龍頭,高流動性,監管受關注。 OKX:龐大用戶基數,支持多種幣種,提供槓桿交易。 Gate.io:資深交易所,多種法幣支付方式,提供多種交易對和投資產品。 Bitget:衍生品交易所,高流動性,低費用。 火幣:老牌交易所,支持多種幣種和交易對。 Coinbase:美國知名交易所,受監管嚴格。 Phemex等等。

數字貨幣app十大交易平台 炒幣正規平台app推薦 數字貨幣app十大交易平台 炒幣正規平台app推薦 Mar 07, 2025 pm 06:51 PM

本文推薦十個數字貨幣交易App:1. OKX;2. Binance;3. Gate.io;4. Huobi Global;5. Kraken;6. Coinbase;7. KuCoin;8. Crypto.com;9. Bitfinex;10. Poloniex。選擇平台需考慮安全性、流動性、交易費用、幣種選擇、用戶界面、客服支持及法規合規性等因素,謹慎評估風險,切勿盲目跟風。

全球十大虛擬幣交易平台app正版下載安裝教程 全球十大虛擬幣交易平台app正版下載安裝教程 Mar 12, 2025 pm 05:33 PM

本文提供Binance、OKX、Gate.io、Huobi Global(火幣)、Coinbase、KuCoin(庫幣)、Kraken和Bitfinex等主流數字貨幣交易平台的安卓和蘋果手機APP下載方法。無論是安卓用戶還是蘋果用戶,都能輕鬆找到對應平台的官方APP下載鏈接,並按照步驟完成安裝。 文章詳細指導了在各自官網或應用商店搜索下載,並針對安卓系統安裝APK文件的特殊步驟做了說明,方便用戶快速便捷地下載使用。

靠譜的數字貨幣平台有哪些 十大正規數字貨幣交易平台2025 靠譜的數字貨幣平台有哪些 十大正規數字貨幣交易平台2025 Mar 17, 2025 pm 05:45 PM

靠譜的數字貨幣平台包括:1. OKX,2. Binance,3. Gate.io,4. Huobi Global,5. Kraken,6. Coinbase,7. KuCoin,8. Bitfinex,9. Crypto.com,10. Gemini,這些交易所各具特色,用戶可根據安全性、費用、幣種選擇、用戶界面和客戶支持等因素選擇適合自己的平台。

十大數字貨幣app交易平台 top10虛擬貨幣app2025排行榜 十大數字貨幣app交易平台 top10虛擬貨幣app2025排行榜 Mar 13, 2025 pm 07:00 PM

十大虛擬幣交易平台排名依次為:1. OKX;2. Binance;3. Gate.io;4. Huobi Global;5. Kraken;6. Coinbase;7. KuCoin;8. Crypto.com;9. Bitfinex;10. Gemini。 排名基於平台流動性、幣種選擇、安全性、用戶體驗、手續費及合規性等因素綜合考量,但僅供參考,投資需謹慎,風險自擔。

See all articles