l Dos 環(huán)境下使用SQl*Loader命令 加載
l 使用其它數(shù)據(jù)庫的數(shù)據(jù)轉移工具
l Oracle 企業(yè)管理器中的數(shù)據(jù)加載功能
具體的技術實現(xiàn)
一、Dos 環(huán)境下加載
1、首先,服務器端的偵聽服務必須已經(jīng)開啟。
測試方法:Dos 下輸入
C:\>sqlplus username/password@serviceName
2、然后使用 Oracle 的 sqlldr 命令進行數(shù)據(jù)的導入
前期條件
1) Oracle 數(shù)據(jù)庫端必須已經(jīng)建好了需要導入的數(shù)據(jù)表的結構
2) 一個數(shù)據(jù)源文件 下面例子中為制表符分隔的文本文件 model.txt ,為Excel 表中導出的
3) 手工編輯一個XXX.CTL 的控制文件
4) 命令行加載數(shù)據(jù)
如下實例:
以下文件缺省放到C:\ 下,如果不是,就需要指明全路徑
1. 命令控制文件 input.ctl 內(nèi)容
命令 |
說明 |
load data |
1、控制文件標識 |
infile 'model.txt' |
2、要輸入的數(shù)據(jù)文件名為test.txt |
append into table system.塔位屬性表 |
3、向表test中追加記錄 |
fields terminated by X'09' |
4、指定分隔符,字段終止于X'09',是一個制表符(TAB) |
(編號,名稱,大小) |
5、定義列對應表中順序 |
控制文件中指定插入數(shù)據(jù)的方式關鍵字
l insert,為缺省方式,在數(shù)據(jù)裝載開始時要求表為空
l append,在表中追加新記錄
l replace,刪除舊記錄,替換成新裝載的記錄
l truncate,同上
在 Dos 窗口下使用 SQl*Loader 命令實現(xiàn)數(shù)據(jù)的導入
C:\>sqlldr userid=system/manager@ serviceName control=input.ctl
默認日志文件名為:input.log
默認壞記錄文件為:input.bad
二、使用其它數(shù)據(jù)庫轉移工具
以下以SQL Server 導入導出向導為例
1、在數(shù)據(jù)的導入導出向導中設置數(shù)據(jù)源服務器,實例中選擇數(shù)據(jù)源選擇SQL Server
2、然后指定要導入的Oracle 數(shù)據(jù)源
3、需要配置Oracle 的屬性信息
需要注意的是,登錄數(shù)據(jù)庫的用戶信息即為數(shù)據(jù)導入之后的方案名,即導入之后的SQL Server 中的表在Oracle 中標志名為 username.表名
以下按照提示即可,可以完全導入SQl Server 中的數(shù)據(jù)表和視圖,也可以使用查詢語句返回你要選擇的列或者行。
三、 Oracle 企業(yè)管理器中的數(shù)據(jù)加載功能
登錄Oracle 的控制臺界面,針對單獨的數(shù)據(jù)表可以使用數(shù)據(jù)加載工具
中間需要指定控制文件等,同Dos 加載一致,不再重復