oracle資料庫sqlserver
❶ Oracle資料庫和sql server資料庫各有什麼優缺點
1.Oracle跨平台,SQL
Server只能運行在Windows上,而Windows能夠安裝的硬體是有限的,如Sun的Sparc伺服器不能安裝Windows,一些大型機、小型機也只能裝UNIX,在這些高端機器上就只能跑Oracle了,這註定了Oracle就是高端資料庫,而SQL
Server呢,中低端。
2.Oracle真正實現了行級鎖,SQL
Server也宣稱實現了行級鎖,但你實際去試,如果不加索引,其實是不行的。
3.Oracle因為有多版本數據的技術,讀寫操作不會相互等待,雖然SQL
Server
2005學習Oracle增加了snapshot機制,從而也引進了多版本數據(MySQL也有多版本數據機制,不能說一定是學習Oracle),但是實際效果感覺就是2個版本的數據,隔離級別為read
committed時候,讀寫不再相互等待,但是把隔離設置為Serializable還是會產生讀寫相互等待。
4.Oracle的事務日誌歸檔相當方便,而SQL
Server要用事務日誌備份來實現,而且還要配置自動作業,啟動agent服務。
5.Oracle的數據字典豐富,使得DBA容易判斷資料庫的各種情況,雖然SQL
Server
2005學習了Oracle的數據字典的特點,但從數量及方便程度上還是相差太多。個人感覺這是Oracle最人性化的地方。
6.Oracle的PL/SQL比SQL
Server的T-SQL功能強大很多。
7.Oracle的觸發器比SQL
Server的種類多幾種。
8.oracle的備份恢復原理相當簡單明了,備份就在操作系統上拷貝數據文件好了,恢復呢,再拷貝回來,數據是舊的,不怕,應用重做日誌好了。SQLServer呢,雖然原理在本質上還是這些,但操作起來麻煩多了,麻煩到讓你體會不到其本質。
9.Oracle資料庫啟動可以有多個階段,使得DBA可以在不同的情況下,通過啟動到特定的階段解決一些特殊問題,而SQLServer只要服務一啟動,所有資料庫就都打開了。
10.SQLServer給人的感覺是簡單易用,但是我要說,如果你繼續向前走,就會發現SQLServer的體系結構相當復雜(注意我這里是說的復雜),大體還是沿襲的Sybase的體系結構,這種復雜結構,估計很難有根本性的改變,而Oracle呢,時間越長你越會覺得其體系結構嚴謹,雖然開始會感覺很難。我的一個比喻,SQLServer是傻瓜相機(就是那些一兩千的小數碼),Oracle是單反相機(40D,5D,D300),如果你是入門者,那用傻瓜相機好了,在各種環境下拍攝,基本都過得去,用單反,光圈、快門都要自己設定,反倒不如傻瓜相機的效果,如果你是高手了,那傻瓜相機就很難得心應手了。
11.Oracle的書籍一般都比較深,隨便一說就是一大批,EpertOracle、PracticalOracle8i、Cost-basedOracle,SQLServer呢,恐怕只有那套InsideSQLServer了,雖然SQLServer的書籍數量比Oracle的多的多(特別是在國內),但多數都是stepbystep的入門書。
12.對比SQL*Plus與sqlcmd(或2000的osql,6.5的isql),sqlcmd的功能是太簡陋,差得太多了。
13.SQLServer的最大優點就是和Windows結合緊密,易用,但是要注意事情都是兩面的,這些優點可能導致其致命的缺點,例如易用,使得搞SQLServer的人可以不求甚解,有時候不求甚解是沒問題的,但是有時候不求甚解可能會造成災難,特別是對搞資料庫的人來說。不好意思,本來要說SQLServer的優點呢,最後也成了缺點了。
❷ 如何將oracle資料庫中的數據如何導入到sqlserver
假設要將SQL Server中的Northwind資料庫中的Procts表導出到Oracle的Scott用戶 首先需要有安裝SQL Server企業版 1.打開工具: 開始->程序-> 導入和SQL Server數據導出數據 2.下一步,選擇數據源 [數據源]選擇「用於SQL Server的Microsoft OLE DB提供程序」,這應該是預設值。 [伺服器]選擇要導出數據的伺服器,如果是本機,選擇(local) [資料庫]選擇要導出的數據所在的庫,這里選擇Northwind 3.下一步,選擇目的 [目的]選擇Microsoft ODBC for Oracle [DSN]選擇用戶/系統DSN一項,然後在下拉列表框中找一個已經連接到了Scott用戶的DSN名稱。 如果下拉列表中沒有,點下拉列表框右側的[新建],出現創建新數據源界面。 接下來選擇系統數據源,下一步,在驅動程序列表中選擇Microsoft ODBC for Oracle 下一步,完成,出現Microsoft ODBC for Oracle安裝界面 [數據源名稱]隨便輸入,比如sss [說明]可以不填 [用戶名稱]填入要SQL Server數據導出到的Oracle用戶名稱,這里是scott [伺服器]填入要連接到Oracle伺服器所使用的服務名,比方說使用sqlplus scott/tiger@server1可以連接到資料庫,那麼這里就填入server1。如果本機就是伺服器,使用sqlplus scott/tiger即可連接到資料庫,這里空著不填即可。 這樣就創建好了一個數據源sss,保證下拉列表框中選擇了sss一項。 [用戶名]填入SQL Server數據導出到的Oracle用戶名稱,這里是scott [密碼]填入SQL Server數據導出到的Oracle用戶使用的密碼,這里是tiger 4.下一步,指定表復制或查詢 如果要導出的內容是整個表,選擇[從源資料庫復製表和視圖] 如果要導出的內容是表的一部分列,行,可以選擇[用一條查詢指定要傳輸的數據],這時需要寫出一個查詢語句 這里選擇第一項[從源資料庫復製表和視圖] 5.下一步,選擇源表和視圖 點中要導出的表Procts一行的復選框,目的、轉換兩欄就會出現內容。 目的可以用來選擇表名。轉換可以用來修改列的數據類型或是整個建表的SQL語句 6.下一步,保存、調度和復制包 選中立即運行 7.下一步,正在完成DTS導入/導出向導 8.完成 提示「成功地將n個表從Microsoft SQLServer復制到了Oracle」 9.完成,關閉導入導出程序 注意:因為oracle的表名都是大寫的,而SQL的表可能是大小混寫的,所以導入後在oracle里查不到該表,比如這個Procts表在oracle里查詢就應該寫成select * from scott."Procts";為了方便查詢可以通過批量修改表名為大寫以便後面導數據的工作。
❸ 如何同步ORACLE和sqlserver的數據
有時候項目開發的需要,必須將sqlServer中的某縣表同步到Oracle資料庫匯總,有其他系統來讀取這些數據,不同資料庫類型之間的數據同步我們可以使用連接伺服器和sqlAgent來實現。加入我們澤凱有一個和聽合同管理系統,其中有表contract和contract_project是需要同步到一個MIS系統中的ORACLE,那麼我們可以按照以下步驟實現數據的同步
1.在oracle資料庫中建立對應的contract和contract_project表,需要同步那些數據欄位我們就建立那些欄位到oralce表中
需要注意哦的是oralce的數據類型和SQLServer的數據類型是不一樣的,那麼他們之間是什麼樣的關系,我們可以再sqlServer下運行:
SELECT *
FROM msdb.dbo.MSdatatype_mappings
來查看sqlServcer和oralce資料庫的的類型類型對應
2.建立連接伺服器,我們將oralce系統作為SQLserver的鏈接伺服器加入到SQLserver中
有時候我們需要在sqlsercer下訪問另外一個sqlserver資料庫上的數據或者訪問其他oracel資料庫就上的數據嗎,想要完成這些操作,我首先要創建一個資料庫鏈接。
資料庫鏈接能夠讓本地的一個sqlservwer登錄用戶勇攝到遠程的一個資料庫伺服器上,並且像操作本地資料庫一樣,那麼怎樣創建資料庫鏈接?
創建一個sqlserver對應的oracle的資料庫鏈接,
❹ oracle資料庫導入到sqlserver
先是把要過來的oracle備份的.dmp文件處理好,要來EXP導出時候的用戶名和密碼,以及LOG日誌文件。
其次安裝oracle數據環境,和我的SQL資料庫在一個機器上,呵呵,這樣好辦多了。要的資料庫是ORACLE9i版本的,10G也沒問題。
先建立一個用戶名,名稱最好和提供DMP備份的名稱一樣,密碼也一樣。這樣會省很多事的。開始WINDOWS下運行CMD:
C:>imp username/userpassword@dbname file=d:/backname.dmp ignore=y rows=y full=y
開始執行oracle數據導入操作。時間很長,那麼*.DMP資料庫就被恢復過來了。
現在我們我們已經把ORACLE的備份數據恢復過來了。ORACLE裡面有我們需要的數據了,我們如何把這些數據導入到SQL server里呢。這時候就要用到SQL的工具DTS..........
打開企業管理器,在oracle數據導入的資料庫出按下右鍵,所有任務里選擇導入數據選擇數據 ,進入數據轉換導入導出向導。
下一步我們選擇數據源為Microsoft OLE Provider for oracle 選擇屬性 因為是本機所以伺服器名稱不比輸入了,用戶名我們輸入ORACLE我們需要的資料庫的用戶名和密碼。測試一下連接,正常連接以後選擇確定,就可以選擇(勾選)我們需要的這個資料庫里的表了。
這樣,oracle中的表就導入到SQL裡面了。我們就可以用SQL來操作數據了。這對於編程具有很好的試用價值。
❺ oracle資料庫導入sqlserver報錯,請問是怎麼回事
第一種:更改SQL server中表欄位的數據格式,比如oracle中的同樣欄位,格式為varchar2(30)而sQL server中資料庫為varchar(20),就可能造成數據截斷錯誤。
第二種:更改oracle資料庫中的數據,有的時候,oracle中存在亂碼時,SQL Server會不識別,從而報錯,該錯誤是:字元在目標代碼中沒有匹配項錯誤。該方法適用於錯誤的欄位少的情況,如果很多,就需要使用第三種方法。
第三種:把SQL Server表的欄位數據結構改變,經常出現的錯誤的數據格式為varchar2數據格式欄位導入到varchar數據格式欄位的情況,因為varchar2是unicode格式的,varchar不是,所以SQL server很容易將一些unicode字元識別為亂碼,從而報錯。
❻ oracle ,mysql 和sqlserver的主要區別有哪些
一、首先一點,這三個資料庫不是同一個公司的產品;
二、其所對應的使用對象也不一樣,oracle是主流的大型資料庫,大多數電信項目都是使用的oracle,而sqlserver與mysql主要是個人以及小型公司使用的的資料庫,但是sqlserver需要收費,mysql不用。
❼ MySQL、SqlServer、Oracle,你必須了解的三大資料庫區別
優點:
體積小、速度快、總體擁有成本低,開源;
支持多種操作系統;
是開源資料庫,提供的介面支持多種語言連接操作 ;
MySQL的核心程序採用完全的多線程編程。線程是輕量級的進程,它可以靈活地為用戶提供服務,而不過多的系統資源。用多線程和C語言實現的mysql能很容易充分利用CPU;
MySql有一個非常靈活而且安全的許可權和口令系統。當客戶與MySql伺服器連接時,他們之間所有的口令傳送被加密,而且MySql支持主機認證;
支持ODBC for Windows, 支持所有的ODBC 2.5函數和其他許多函數, 可以用Access連接MySql伺服器, 使得應用被擴展;
支持大型的資料庫, 可以方便地支持上千萬條記錄的資料庫。作為一個開放源代碼的資料庫,可以針對不同的應用進行相應的修改;
擁有一個非常快速而且穩定的基於線程的內存分配系統,可以持續使用面不必擔心其穩定性;
MySQL同時提供高度多樣性,能夠提供很多不同的使用者介面,包括命令行客戶端操作,網頁瀏覽器,以及各式各樣的程序語言介面,例如C+,Perl,Java,PHP,以及Python。你可以使用事先包裝好的客戶端,或者乾脆自己寫一個合適的應用程序。MySQL可用於Unix,Windows,以及OS/2等平台,因此它可以用在個人電腦或者是伺服器上。
缺點:
不支持熱備份;
MySQL最大的缺點是其安全系統,主要是復雜而非標准,另外只有到調用mysqladmin來重讀用戶許可權時才發生改變;
沒有一種存儲過程(Stored Procere)語言,這是對習慣於企業級資料庫的程序員的最大限制;
MySQL的價格隨平台和安裝方式變化。linux的MySQL如果由用戶自己或系統管理員而不是第三方安裝則是免費的,第三方案則必須付許可費。Unix或linux 自行安裝 免費 、Unix或Linux 第三方安裝 收費。
❽ Oracle資料庫與SQL Server資料庫的區別是什麼
都是大型關系型資料庫,以前Oracle對海量數據的處理性能比SQL強,現在SQL2005應該在一些方面可以和Oracle向比美了,相對SQL便宜一些,Oracle使用到後面可能還需要購買一些插件
❾ sqlserver與oracle的區別
區別
1、操作的平台不同
Oracle可在所有主流平台上運行,Oracle資料庫採用開放的策略目標,它使得客戶可以選擇一種最適合他們特定需要的解決方案。客戶可以利用很多種第三方應用程序、工具。而SQL Server卻只能在Windows上運行了。
2、安全性不同
Oracle的安全認證獲得最高認證級別的ISO標准認證,而SQL Server並沒有獲得什麼安全認證。這方面證明了Oracle的安全性是高於SQL Server的。
3、性能不同
SQL Server 多用戶時性能不佳,而Oracle 性能最高,保持windowsNT下的TPC-D和TPC-C的世界記錄。
4、文體結構不同
Oracle的文件體系結構為:數據文件 .dbf(真實數據、日誌文件 .rdo、控制文件 .ctl、參數文件 .ora。
SQL Server的文件體系結構為:.mdf (數據字典)、.ndf (數據文件)、.ldf (日誌文件)。
5、客戶端支持及應用模式不同
SQL Server C/S結構,只支持windows客戶,可以用ADO,DAO,OLEDB ,ODBC連接。
Oracle多層次網路計算,支持多種工業標准,可以用ODBC, JDBC,OCI等網路客戶連接。
參考資料來源:網路—Microsoft SQL Server
參考資料來源:網路—Oracle資料庫
❿ 如何實現sqlserver數據插入oracle資料庫
假設要將SQL
Server中的Northwind資料庫中的Procts表導出到Oracle的Scott用戶
首先需要有安裝SQL
Server企業版
1.打開工具:
開始->程序->
導入和SQL
Server數據導出數據
2.下一步,選擇數據源
[數據源]選擇「用於SQL
Server的Microsoft
OLE
DB提供程序」,這應該是預設值。
[伺服器]選擇要導出數據的伺服器,如果是本機,選擇(local)
[資料庫]選擇要導出的數據所在的庫,這里選擇Northwind
3.下一步,選擇目的
[目的]選擇Microsoft
ODBC
for
Oracle
[DSN]選擇用戶/系統DSN一項,然後在下拉列表框中找一個已經連接到了Scott用戶的DSN名稱。
如果下拉列表中沒有,點下拉列表框右側的[新建],出現創建新數據源界面。
接下來選擇系統數據源,下一步,在驅動程序列表中選擇Microsoft
ODBC
for
Oracle
下一步,完成,出現Microsoft
ODBC
for
Oracle安裝界面
[數據源名稱]隨便輸入,比如sss
[說明]可以不填
[用戶名稱]填入要SQL
Server數據導出到的Oracle用戶名稱,這里是scott
[伺服器]填入要連接到Oracle伺服器所使用的服務名,比方說使用sqlplus
scott/tiger@server1可以連接到資料庫,那麼這里就填入server1。如果本機就是伺服器,使用sqlplus
scott/tiger即可連接到資料庫,這里空著不填即可。
這樣就創建好了一個數據源sss,保證下拉列表框中選擇了sss一項。
[用戶名]填入SQL
Server數據導出到的Oracle用戶名稱,這里是scott
[密碼]填入SQL
Server數據導出到的Oracle用戶使用的密碼,這里是tiger
4.下一步,指定表復制或查詢
如果要導出的內容是整個表,選擇[從源資料庫復製表和視圖]
如果要導出的內容是表的一部分列,行,可以選擇[用一條查詢指定要傳輸的數據],這時需要寫出一個查詢語句
這里選擇第一項[從源資料庫復製表和視圖]
5.下一步,選擇源表和視圖
點中要導出的表Procts一行的復選框,目的、轉換兩欄就會出現內容。
目的可以用來選擇表名。轉換可以用來修改列的數據類型或是整個建表的SQL語句
6.下一步,保存、調度和復制包
選中立即運行
7.下一步,正在完成DTS導入/導出向導
8.完成
提示「成功地將n個表從Microsoft
SQLServer復制到了Oracle」
9.完成,關閉導入導出程序
注意:因為oracle的表名都是大寫的,而SQL的表可能是大小混寫的,所以導入後在oracle里查不到該表,比如這個Procts表在oracle里查詢就應該寫成select
*
from
scott."Procts";為了方便查詢可以通過批量修改表名為大寫以便後面導數據的工作。