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