資料庫是Oracle 9i
1、匯出csv檔案
這個十分簡單,用pl/sql工具即可,首先選中要匯出的表,右鍵選擇Query data,在左側出現的視窗中,選擇Export Query Restls 選擇要匯出的檔案類型即可,一般都導csv格式。
2、匯入csv檔案
比喻資料庫裡有表t_province 欄位1:province 欄位2:city
CSV檔案存放路徑:f:\test.csv 列需與資料庫保持一致
還需要編寫一個test.ctl檔案,內容如下:
load data
infile 'f:\城市.csv'
into table "T_PROVINCE"
fields terminated by ','
(province,city)
然後在cmd下,輸入:sqlldr userid=clevergirl/clevergirl@ORCL_192.168.128.129 control=f:test.ctl 然後斷行符號即可
3、幾個值得注意的地方
一開始我是這樣寫的:sqlldr control=f:\test.ctl log=f:test.log
報了:SQL*Loader-704: 內部錯誤: ulconnect: OCIServerAttach [0]
ORA-12560: TNS: 協議適配器錯誤
上網查了下,說是和環境變數有關,可以修改,但我覺得還是自己指定算了
然後我怕許可權不夠,所以直接用sys使用者登入:sqlldr userid=sys/sys@ORCL_192.168.128.129 control=f:test.ctl
報了:SQL*Loader-128: 無法開始會話
ORA-28009: connection to sys should be as sysdba or sysoper
上面這個換成正確的後,又報了一個
SQL*Loader-941: 在描述表 "t_province" 時出錯
ORA-04043: 對象 "t_province" 不存在
這個錯誤的問題出在ctl檔案,裡面的表名要大寫才OK