久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

OLEDB和ODBC的區別是什么

135次閱讀
沒有評論

共計 3829 個字符,預計需要花費 10 分鐘才能閱讀完成。

這篇文章將為大家詳細講解有關 OLEDB 和 ODBC 的區別是什么,文章內容質量較高,因此丸趣 TV 小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

1. 單束式驅動程序

單束式驅動程序介于應用程序和數據庫之間,像中介驅動程序一樣數據提供一個統一的數據訪問方式。當用戶進行數據庫操作時,應用程序傳遞一個 ODBC 函數調用給 ODBC 驅動程序管理器,由 ODBC API 判斷該調用是由它直接處理并將結果返回還是送交驅動程序執行并將結果返回。由上可見,單束式驅動程序本身是一個數據庫引擎,由它直接可完成對數據庫的操作,盡管該數據庫可能位于網絡的任何地方。

2. 多束式驅動程序

多束式驅動程序負責在數據庫引擎和客戶應用程序之間傳送命令和數據,它本身并不執行數據處理操作而用于遠程操作的網絡通信協議的一個界面。前端應用程序提出對數據庫處理的請求,該請求轉給 ODBC 驅動程序管理器,驅動程序管理器依據請求的情況,就地完成或傳給多束驅動程序,多束式驅動程序將請求翻譯為特定廠家的數據庫通信接口(如 Oracle 的 SQLNet)所能理解的形式并交于接口去處理,接口把請求經網絡傳送給服務器上的數據引擎,服務器處理完后把結果發回給數據庫通信接口,數據庫接口將結果傳給多束式 ODBC 驅動程序,再由驅動程序將結果傳給應用程序。

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

OLEDB(對象鏈接和嵌入數據庫)位于 ODBC 層與應用程序之間. 在你的 ASP 頁面里,ADO 是位于 OLEDB 之上的 應用程序 . 你的 ADO 調用先被送到 OLEDB, 然后再交由 ODBC 處理. 你可以直接連接到 OLEDB 層, 如果你這么做了, 你將看到服務器端游標 (recordset 的缺省的游標, 也是最常用的游標) 性能的提升.

參考 http://www.connectionstrings.com/

用 odbc 連接數據庫:

odbc 中提供三種 dsn, 它們的區別很簡單:用戶 dsn 只能用于本用戶。系統 dsn 和文件 dsn 的區別只在于連接信息的存放位置不同:系統 dsn 存放在 odbc 儲存區里,而文件 dsn 則放在一個文本文件中。
它們的創建方法就不說了。

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

1.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={SQLSERVER};SERVER=servername;UID=xx;PWD=xxx

2.access:

用系統 dsn: connstr= DSN=dsnname
(或者為:connstr= DSN=dsnname;UID=xx;PWD=xxx)
用文件 dsn:connstr= FILEDSN=xx
還可以用連接字符串(從而不用再建立 dsn):
connstr= DRIVER={MicrosoftAccess Driver};DBQ=d:\abc\abc.mdb

用 oledb 連接數據庫:

1.sql server:
connstr= PROVIDER=SQLOLEDB;
DATASOURCE=servername;UID=xx;PWD=xxx;DATABASE=dbname

2.access:
connstr= PROVICER=MICROSOFT.JET.OLEDB.4.0;
DATASOURCE=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 提供者可能會比本地的 OLEDB 提供者的速度慢一些。

ODBC,OLEDB 連接字符串詳解

SQL Server

u ODBC
1. Standard Security:
Driver={SQLServer};Server=Aron1;Database=pubs;Uid=sa;Pwd=asdasd;
2. Trusted connection:
Driver={SQLServer};Server=Aron1;Database=pubs;Trusted_Connection=yes;
3. Prompt for username and password:
oConn.Properties(Prompt)= adPromptAlways
oConn.Open Driver={SQL Server};Server=Aron1;DataBase=pubs;

u OLE DB, OleDbConnection (.NET)

1. Standard Security:
Provider=sqloledb;DataSource=Aron1;Initial Catalog=pubs;User Id=sa;Password=asdasd;
2. Trusted Connection:
Provider=sqloledb;DataSource=Aron1;Initial Catalog=pubs;Integrated Security=SSPI;
(useserverName\instanceName as Data Source to use an specifik SQLServer instance,only SQLServer2000)
3. Prompt for username and password:
oConn.Provider= sqloledb
oConn.Properties(Prompt)= adPromptAlways
oConn.Open Data Source=Aron1;Initial Catalog=pubs;
4. Connect via an IP address:
Provider=sqloledb;DataSource=190.190.200.100,1433;Network Library=DBMSSOCN;Initial Catalog=pubs;UserID=sa;Password=asdasd;
(DBMSSOCN=TCP/IPinstead of Named Pipes, at the end of the Data Source is the port to use (1433is the default))

u SqlConnection (.NET)

1. Standard Security:
DataSource=Aron1;Initial Catalog=pubs;User Id=sa;Password=asdasd;
– or –
Server=Aron1;Database=pubs;UserID=sa;Password=asdasd;Trusted_Connection=False
(bothconnection strings produces the same result)
2. Trusted Connection:
DataSource=Aron1;Initial Catalog=pubs;Integrated Security=SSPI;
– or –
Server=Aron1;Database=pubs;Trusted_Connection=True;
(bothconnection strings produces the same result)
(useserverName\instanceName as Data Source to use an specifik SQLServer instance,only SQLServer2000)
3. Connect via an IP address:
DataSource=190.190.200.100,1433;Network Library=DBMSSOCN;Initial Catalog=pubs;UserID=sa;Password=asdasd;
(DBMSSOCN=TCP/IPinstead of Named Pipes, at the end of the Data Source is the port to use (1433is the default))

關于 OLEDB 和 ODBC 的區別是什么就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-03發表,共計3829字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 游戏| 英德市| 深圳市| 正安县| 凌云县| 武胜县| 洪雅县| 岳普湖县| 桃源县| 延安市| 荣昌县| 平舆县| 静乐县| 龙泉市| 定州市| 阿坝县| 海阳市| 姜堰市| 天水市| 南充市| 嘉善县| 富源县| 神木县| 鸡东县| 眉山市| 千阳县| 靖西县| 乐清市| 衡山县| 大英县| 郸城县| 城步| 资中县| 洪湖市| 关岭| 英山县| 博乐市| 东山县| 鸡西市| 庄河市| 东明县|