Access數據導入到Oracle及報錯處理方法
一 配置oracle的本地Net服務名
1.必須裝oracle客戶端
2.找到Oracle net configuration assistant 如下圖創建
下一步,完成。
二 創建ODBC數據源
Data Source Name :自己寫一個名字
Description :可以不寫
TNS Service Name :點向下的選擇第一步創建的oracle 本地Net服務名(如下圖)
User ID :數據庫用戶名
點擊Test Connection測試,輸入自己的用戶名密碼,如下圖
出現下面提示,表示成功
三 access數據導出
步驟如下圖:
導出的時候表名必需改成大寫
然後,所有表的列名必須大寫
特別提醒,上面兩步特別重要。注意改大寫的時候,別改錯。
選擇第二步創建的ODBC數據源
輸入數據庫密碼,點OK
導出成功,注:直接導入到Oracle數據庫中。(注意:不用手動先去Oracle裏面創建表,會自動生成)
導入過程中的2個小問題及解決
1. Ora-24801:在OCI_lob函數中非法的參數值
把一張含有“備註”字段的表通過ODBC導出到Oracle的時候一直出現如上圖所示的提示信息。嘗試去掉相關字段中空格字符,去掉字段爲空的記錄,還是導出失敗。最後偶然發現,重新建一張相同結構的空表,然後複製原表的記錄,再粘貼到新表中,導出到Oracle就沒有問題。
2. Ora-01401:插入的值對於列過大
同樣是通過ODBC導出到Oracle時碰到的問題,這主要是因爲Access和Oracle對於字段的長度定義同。Access定義的是字符長度,Oracle定義的是字節長度,碰到有中文這些雙字節的字符的字段就會發生上面的問題。只要把這些字段按照字節長度設置就可以了。
myhoop 2012-8-14於成都