sql server如何創(chuàng)建定時(shí)作業(yè) 如何同步ORACLE和sqlserver的數(shù)據(jù)?
如何同步ORACLE和sqlserver的數(shù)據(jù)?有時(shí)由于項(xiàng)目開(kāi)發(fā)的需要,必須將SQLServer2005中的某些表同步到Oracle數(shù)據(jù)庫(kù)中,由其他其他系統(tǒng)來(lái)讀取這些數(shù)據(jù)。不同數(shù)據(jù)庫(kù)類型之間的數(shù)據(jù)同步
如何同步ORACLE和sqlserver的數(shù)據(jù)?
有時(shí)由于項(xiàng)目開(kāi)發(fā)的需要,必須將SQLServer2005中的某些表同步到Oracle數(shù)據(jù)庫(kù)中,由其他其他系統(tǒng)來(lái)讀取這些數(shù)據(jù)。不同數(shù)據(jù)庫(kù)類型之間的數(shù)據(jù)同步我們可以使用鏈接服務(wù)器和SQLAgent來(lái)實(shí)現(xiàn)。假設(shè)我們這邊(SQLServer2005)有一個(gè)合同管理系統(tǒng),其中有表contract 和contract_project是需要同步到一個(gè)MIS系統(tǒng)中的(Oracle9i)那么,我們可以按照以下幾步實(shí)現(xiàn)數(shù)據(jù)庫(kù)的同步。1.在Oracle中建立對(duì)應(yīng)的contract 和 contract_project表,需要同步哪些字段我們就建那些字段到Oracle表中。 這里需要注意的是Oracle的數(shù)據(jù)類型和SQLServer的數(shù)據(jù)類型是不一樣的,那么他們之間是什么樣的關(guān)系拉?我們可以在SQLServer下運(yùn)行: SELECT *FROM _mappingsSELECT *FROM 來(lái)查看SQLServer和其他數(shù)據(jù)庫(kù)系統(tǒng)的數(shù)據(jù)類型對(duì)應(yīng)關(guān)系。第一個(gè)SQL語(yǔ)句是看SQL轉(zhuǎn)Oracle的類型對(duì)應(yīng),而第二個(gè)表則更詳細(xì)得顯示了各個(gè)數(shù)據(jù)庫(kù)系統(tǒng)的類型對(duì)應(yīng)。根據(jù)第一個(gè)表和我們的SQLServer中的字段類型我們就可以建立好Oracle表了。SQLServer和Oracle的對(duì)應(yīng)2.建立鏈接服務(wù)器。我們將Oracle系統(tǒng)作為SQLServer的鏈接服務(wù)器加入到SQLServer中。 具體做法參見(jiàn)我以前的文章
3.使用SQL語(yǔ)句通過(guò)鏈接服務(wù)器將SQLServer數(shù)據(jù)寫(xiě)入Oracle中。 比如我們建立了鏈接服務(wù)器MIS,而Oracle中在MIS用戶下面建立了表contract_project,那么我們的SQL語(yǔ)句就是: DELETE FROM _PROJECT--清空Oracle表中的數(shù)據(jù)INSERT into _PROJECT--將SQLServer中的數(shù)據(jù)寫(xiě)到Oracle中SELECT contract_id,project_code,actual_moneyFROM contract_project如果報(bào)告成功,那么我們的數(shù)據(jù)就已經(jīng)寫(xiě)入到Oracle中了。用 SELECT *FROM _PROJECT查看Oracle數(shù)據(jù)庫(kù)中是否已經(jīng)有數(shù)據(jù)了。4.建立SQLAgent,將以上同步SQL語(yǔ)句作為執(zhí)行語(yǔ)句,每天定時(shí)同步兩次。 這樣我們的同步就完成了。 這里需要注意的是_PROJECT 這里必須要大寫(xiě),如果是小寫(xiě)的話會(huì)造成同步失敗。
mysql數(shù)據(jù)庫(kù)每天兩點(diǎn)時(shí)間怎么寫(xiě)sql?
很多種方法,可以寫(xiě)定時(shí)器程序,或者使用windows這次任務(wù)計(jì)劃定時(shí)執(zhí)行程序,或者使用sqlserver這次的維護(hù)計(jì)劃
都可以