㈠ Oracle與sql Server如何實現表數據同步
有時由於項目開發的需要,必須將SQLServer2005中的某些表同步到Oracle資料庫中,由其他其他系統來讀取這些數據。不同資料庫類型之間的數據同步我們可以使用鏈接伺服器和SQLAgent來實現。假設我們這邊(SQLServer2005)有一個合同管理系統,其中有表contract 和contract_project是需要同步到一個MIS系統中的(Oracle9i)那麼,我們可以按照以下幾步實現資料庫的同步。
1.在Oracle中建立對應的contract 和 contract_project表,需要同步哪些欄位我們就建那些欄位到Oracle表中。
這里需要注意的是Oracle的數據類型和SQLServer的數據類型是不一樣的,那麼他們之間是什麼樣的關系拉?我們可以在SQLServer下運行:
SELECT *
FROM msdb.dbo.MSdatatype_mappings
SELECT *
FROM msdb.dbo.sysdatatypemappings
來查看SQLServer和其他資料庫系統的數據類型對應關系。第一個SQL語句是看SQL轉Oracle的類型對應,而第二個表則更詳細得顯示了各個資料庫系統的類型對應。根據第一個表和我們的SQLServer中的欄位類型我們就可以建立好Oracle表了。
SQLServer和Oracle的對應
2.建立鏈接伺服器。我們將Oracle系統作為SQLServer的鏈接伺服器加入到SQLServer中。
具體做法參見我以前的文章http://www.cnblogs.com/studyzy/archive/2006/12/08/690307.html
3.使用SQL語句通過鏈接伺服器將SQLServer數據寫入Oracle中。
比如我們建立了鏈接伺服器MIS,而Oracle中在MIS用戶下面建立了表contract_project,那麼我們的SQL語句就是:
DELETE FROM MIS..MIS.CONTRACT_PROJECT
--清空Oracle表中的數據
INSERT into MIS..MIS.CONTRACT_PROJECT--將SQLServer中的數據寫到Oracle中
SELECT contract_id,project_code,actual_money
FROM contract_project
如果報告成功,那麼我們的數據就已經寫入到Oracle中了。用
SELECT *
FROM MIS..MIS.CONTRACT_PROJECT
查看Oracle資料庫中是否已經有數據了。
4.建立SQLAgent,將以上同步SQL語句作為執行語句,每天定時同步兩次。
這樣我們的同步就完成了。
這里需要注意的是MIS..MIS.CONTRACT_PROJECT 這里必須要大寫,如果是小寫的話會造成同步失敗。
㈡ 請問如何實現ORACLE與SQL SERVER 2000數據同步
寫一個定時執行的程序,最好寫成windows
服務,直接定時執行從oracle中查詢,在sqlserver中更新或添加或刪除,這個執行要的時間會比較長(看oracle中的數據量和每天的變化量),所以寫成服務晚上執行好點,當然寫好後在windows中用計劃任務執行也是可以的,至於程序的復雜程度要看oracle端的數據類型和sqlserver的匹配程度了,但總體來看程序不復雜,如果要追求執行效率的話比較麻煩
㈢ 有什麼好的方法實現oracle與SQLserver之間的資料庫同步
目前比較流行的技術是CDC(change data capture),能夠實現異構資料庫同步,通常是針對變化數據的同步,DDL同步比較難實現,據說有一些國內公司能做到異構資料庫同步,可以了解一下。
㈣ 怎樣在oracle與sql server 之間建立連接
1、建立一個到sqlserver資料庫的odbc連接。2、通過這個odbc建立一個島sqlserver資料庫的dblink。3、通過dblink建立物化視圖。每一步都很簡單,組合起來就行了。
㈤ 如何在SQl 資料庫 和Oracle 資料庫中 建立一個介面 可以讓兩個資料庫中的信息互通
創建鏈接伺服器--》創建觸發器--》兩表同時更新
㈥ mysql和oracle在sql語法上有多少是共通的
符合標準的,基本上是共通的,只能說基本上。
PL/SQL用於oracle, T-SQL 用於MS SQL,SQL PL用於IBM DB2 UDB
於是,行業就要求定個標准, ANSI SQL(SQL89),然後又有SQL99等等,由ANSI/ISO來定義標准。基本語句大致上是一致的。比如四個基本SQL語句:insert, update, select, delete。但是,細節上或復雜應用上不同。這是歷史原因以及開發商開發資料庫思路不同導致的。
如果不是非常復雜的資料庫編程,上手並不算十分困難。
如果要區別不同,主要還是參閱在線幫助文檔,或去書店買兩本專業的書對照著看。
㈦ SQL和Oracle有互通的地方嗎
估計你的問題是問 Microsoft SQL-Server 和 Oracle 之間有什麼互通的地方吧。事實上任何一款支持 SQL92 標準的資料庫產品在建表、刪表、查詢數據、刪除數據、更新數據這些方面都是相同的,比如,你寫一條SQL語句:
select count(*) from t_test where id = 1;
它完全遵循 SQL92 標准,因此無論在 Microsoft SQL-Server 、Oracle、IBM-DB2 還是 MySQL 下都可以執行。不同的資料庫產品之間的主要區別在於一些附加功能的使用,包括存儲過程的語法、系統函數的名稱和功能、系統表結構等。由於主要的功能在 SQL 語法中已經定義,因此不同資料庫之間即使存在一些高級功能的語法差異,對於資料庫訪問來說影響不大,稍加修改就可以在不同資料庫之間移植代碼。換句話說,對於程序員來說,不同資料庫產品之間差異非常小。
但是,對於資料庫管理員來說就不一樣了。因為資料庫管理員肩負資料庫環境搭建、資料庫排錯、數據備份、災難恢復、系統性能監視等任務,完全是和系統表、系統函數、系統工具打交道,因此同時精通多個資料庫產品的資料庫管理員是不多見的。
對於什麼都不懂剛剛開始學習資料庫的人來說,當然是從SQL語法學起,這個期間資料庫的差異並不明顯,可以說學哪個都一樣。而這時微軟的 SQL-Server就有優勢了,因為它的可視化界面做地比較好,相關書籍非常多,而軟體本身又不行像 Oracle 那樣龐大,相對來說容易上手。
㈧ oracle 和 sql server 能互相訪問嗎 請個具體的步驟和圖示,例示。 小弟在這鞠躬咯!!
不行。
你要寫個中間互相轉的程序了。
㈨ 如何連接SQL Server與Oracle資料庫
telnet
指令,遠程連接sqlserver資料庫所在機器,然後通過用戶名密碼就可以連上了
㈩ oracle 資料庫和SQL Server資料庫如何實現相互通信
sqlserver可以使用linkserver實現訪問oracle;
oracle可以使用database link實現訪問sqlserver;
這樣訪問對方就像訪問本地資料庫一樣。