由於做的軟件要求跨平臺,要不數據庫變成Oracle的,因此需要把SQL Server 2000的數據導入到Oracle 10g中去。發現SQL Server自帶的導入導出比較好用!恩恩,現在開始講一講怎麼吧SQL Server的數據導入到Oracle中。
先說說目的:
在PC機A中安裝的Windows系統下SQL Server中有源數據庫DBServer。
PC機ip地址:192.168.1.103。主機名:LENOVO-78EB319A
數據庫中使用管理員sa,密碼lenovo。貌似用不上……在PC機B中安裝的Solaris系統下Oracle中有目標數據庫DBServer。
PC機ip地址:192.168.1.105。主機名:vic.MINg
其中DBServer是空數據庫,剛剛創建的。講A機Windows XP系統SQL Server 2000中數據庫DBServer中的表和視圖導入到B機Solaris 10系統Oracle 10g中去。
在Solaris下的Oracle中創建用戶
Oracle下創建用戶賦予權限,在終端中啓動 SQL Plus。
創建用戶+密碼(用戶:sa 密碼:lenovo)SQL> create user sa identified by lenovo;
單獨賦予用戶權限
SQL> grant create session to sa;
SQL> grant create table to sa;
SQL> grant create sequence to sa;
SQL> grant create view to sa;當然也可以給用戶賦予DBA權限
SQL> grant sysdba to sa;
在Windows下創建一個ODBC數據源
控制面板——管理工具——數據源(ODBC),"系統 DSN” 項卡中點擊添加按鈕,選擇相關Oracle驅動
配置數據源信息,如下
點擊"Test Connection",進行測試看看是否和Solaris聯通
SQL Server往Oracle導入數據
啓動"SQL Server 企業管理器" ,在數據庫——DBServer 中 "所有任務",導出數據。
根據提示,下一步,在這個主要配置"選擇數據源"、"選擇目的"、"選擇源表和視圖"等,可參看一下圖片說明
這裏在"選擇源表和視圖"的時候,主要要把數據庫的目的表名或視圖名改成大寫的並且去掉前面的用戶名,可以參照上圖填寫。進行下一步操作,在最後,我遇見了一個小小的問題,在導入導出的時候Oracle中無法創建表或視圖,可以看到相應提示 "ORA-01950: 對錶空間 'USERS' 無權限"。
"ORA-01950: 對錶空間 'USERS' 無權限" 解決方法:創建新的用戶時,要指定default tablespace,否則它會把system表空間當成自己的缺省表空間。這樣做是不提倡的。估計原來創建某個用戶的時候沒有指定缺省表空間,而現在它使用系統表空間的權限被DBA給收回了。
在Oracle中使用system登錄執行以下語句即可
SQL> connect system/lenovo
SQL> alter user sa quota unlimited on users;這次在試試,完全OK!
嘿嘿,完成以後SQL Server中的數據就已經導入到Oracle中了,趕緊去查詢一下吧!
原文:http://cool.worm.blog.163.com/blog/static/6433900620098324339726/