初學者來認識OLEDB和ODBC的區別

來源:互聯網
上載者:User

ODBC(開放資料庫互連):是Microsoft引進的一種早期資料庫介面技術。它實際上是ADO的前身。早期的資料庫連接是非常困難的。每個資料庫的格式都不一樣,開發人員得對他們所開發的每種資料庫的底層API有深刻的瞭解. 因此,能處理各種各樣資料庫的通用的API就應運而生了。也就是現在的ODBC(Open Database Connectivity), ODBC是人們在建立通用API的早期產物。有許多種資料庫遵從了這種標準,被稱為ODBC相容的資料庫。

OLEDB(物件連結與嵌入資料庫)位於ODBC層與應用程式之間. 在你的ASP頁面裡,ADO是位於OLEDB之上的"應用程式". 你的ADO調用先被送到OLEDB,然後再交由ODBC處理. 你可以直接連接到OLEDB層,如果你這麼做了,你將看到伺服器端遊標(recordset的預設的遊標,也是最常用的遊標)效能的提升。

用odbc串連資料庫:

odbc中提供三種dsn,它們的區別很簡單:使用者dsn只能用於本使用者。系統dsn和檔案dsn的區別只在於串連資訊的存放位置不同:系統dsn存放在odbc儲存區裡,而檔案dsn則放在一個文字檔中。

它們的建立方法就不說了。

在asp中使用它們時,寫法如下:

A.sql server:

用系統dsn: connstr="DSN=dsnname; UID=xx; PWD=xxx;DATABASE=dbname"

用檔案dsn: connstr="FILEDSN=xx;UID=xx; PWD=xxx;DATABASE=dbname"

還可以用連接字串(從而不用再建立dsn):

connstr="DRIVER={SQL SERVER};SERVER=servername;UID=xx;PWD=xxx"
B.access:

用系統dsn: connstr="DSN=dsnname"

(或者為:connstr="DSN=dsnname;UID=xx;PWD=xxx")

用檔案dsn: connstr="FILEDSN=xx"

還可以用連接字串(從而不用再建立dsn):

connstr="DRIVER={Microsoft Access Driver};DBQ=d:\abc\abc.mdb"

用oledb串連資料庫:

以下為引用的內容:
A.sql server:
connstr="PROVIDER=SQLOLEDB;
DATA SOURCE=servername;UID=xx;PWD=xxx;DATABASE=dbname"
B.access:
connstr="PROVICER=MICROSOFT.JET.OLEDB.4.0;
DATA SOURCE=c:\abc\abc.mdb"

值得注意的是,OLE DB對ODBC的相容性,允許OLE DB訪問現有的ODBC資料來源。其優點很明顯,由於ODBC相對OLE DB來說使用得更為普遍,因此可以獲得的ODBC驅動程式相應地要比OLE DB的要多。這樣不一定要得到OLE DB的驅動程式,就可以立即訪問原有的資料系統。

提供者位於OLE DB層,而驅動程式位於ODBC層。如果想使用一個ODBC資料來源,需要使用針對ODBC的OLE DB提供者,它會接著使用相應的ODBC驅動程式。如果不需要使用ODBC資料來源,那麼可以使用相應的OLE DB提供者,這些通常稱為本地提供者(native provider)。

可以清楚地看出使用ODBC提供者意味著需要一個額外的層。因此,當訪問相同的資料時,針對ODBC的OLE DB提供者可能會比本地的OLE DB提供者的速度慢一些。



相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。