The Microsoft? OLE DB Provider for SQL Server (SQLOLEDB) 允許 ADO 訪問 Microsoft? SQL Server?。
連接字符串參數(shù)
要連接到該提供者,請將 ConnectionString 屬性的 Provider 參數(shù)設置為:
SQLOLEDB
也可以使用 Provider 屬性設置或讀取該值。
除了 ADO 定義的連接參數(shù)外,提供者支持幾個特定提供者的連接參數(shù)。與 ADO 連接屬性一樣,這些特定提供者的屬性可以通過 Connection 的 Properties 集合設置或者設置為 ConnectionString 的一部分。
參數(shù) |
說明 |
Trusted Connection |
用戶身份驗證模式??梢栽O置為 True 或 False。默認值是 False。如果將屬性設置為 True,則 SQLOLEDB 將使用 Microsoft? Windows NT? 身份驗證模式授權用戶訪問由 Location 和 Datasource 屬性值指定的 SQL 服務器數(shù)據(jù)庫。如果將該屬性設置為 False,則 SQLOLEDB 將使用“混合模式”授權用戶訪問 SQL 服務器數(shù)據(jù)庫。SQL 服務器的登錄和密碼在 User Id 和 Password 屬性中指定。 |
Current Language |
SQL 服務器語言名稱。識別系統(tǒng)信息選擇和格式化所使用的語言。該語言必須安裝在 SQL 服務器上,否則打開連接時會失敗。 |
Network Address |
由 Location 屬性指定的 SQL 服務器的網(wǎng)絡地址。 |
Network Library |
用來與 SQL 服務器進行通訊的網(wǎng)絡庫 (DLL) 名。名稱不應包括路徑或 .dll 文件名的擴展名。默認名由 SQL 服務器客戶配置來提供。 |
Use Procedure for Prepare |
SQL 服務器存儲過程使用。準備命令時定義 SQL 服務器臨時存儲過程的使用。 |
Auto Translate |
OEM/ANSI 字符轉(zhuǎn)換。該屬性可設置為 True 或 False。默認值是 True。如果將該屬性設置為 True,則從 SQL 服務器提取多字節(jié)字符串或?qū)⑵浒l(fā)送到 SQL 服務器時,SQLOLEDB 將執(zhí)行 OEM/ANSI 字符轉(zhuǎn)換。如果將該屬性設置為 False,則 SQLOLEDB 不在多字節(jié)字符串數(shù)據(jù)上執(zhí)行 OEM/ANSI 字符轉(zhuǎn)換。 |
Packet Size |
以字節(jié)表示的網(wǎng)絡包的大小。包大小的屬性值必須在 512 和 32767 之間。默認的 SQLOLEDB 網(wǎng)絡包大小是 4096。 |
Application Name |
客戶應用程序名。 |
Workstation ID |
標識工作站的字符串。 |
Command 對象的用法
SQLOLEDB 將 ODBC、ANSI 和特定 SQL 服務器的 Transact-SQL 的混合體作為有效的語法。例如,以下的 SQL 語句使用 ODBC SQL Esc 轉(zhuǎn)義序列來指定 LCASE 字符串函數(shù):
SELECT customerid={fn LCASE(CustomerID)} FROM Customers
LCASE 返回字符串,將所有大寫字符轉(zhuǎn)換成相應的小寫字符。ANSI SQL 的字符串函數(shù) LOWER 執(zhí)行相同的操作,因此,以下的 SQL 語句與上述 ODBC 語句的 ANSI 等價:
SELECT customerid=LOWER(CustomerID) FROM Customers
當被指定為命令的文本時,SQLOLEDB 將成功地處理任何一種語句的窗體。
存儲過程
當使用 SQLOLEDB 命令執(zhí)行 SQL 服務器的存儲過程時,請使用命令文本的 ODBC 過程調(diào)用 Esc 轉(zhuǎn)義序列。而后,SQLOLEDB 將使用 SQL 服務器的遠程過程調(diào)用機制來優(yōu)化命令處理。例如,以下的 ODBC SQL 語句是 Transact-SQL 窗體上的首選命令文本:
ODBC SQL
{call SalesByCategory('Produce', '1995')}
Transact-SQL
EXECUTE SalesByCategory 'Produce', '1995'
Recordset 行為
SQLOLEDB 不能使用 SQL 服務器游標支持由許多命令生成的多行集合結(jié)果。如果客戶請求需要 SQL 服務器游標支持的記錄集,則所使用的命令文本在其結(jié)果中生成多個記錄集時將產(chǎn)生錯誤。
SQL 服務器游標支持可滾動的 SQLOLEDB 記錄集。SQL 服務器限制對其他數(shù)據(jù)庫用戶所做的更改敏感的游標。特別是一些游標中的行不能排序,試圖使用包含 SQL ORDER BY 子句的命令創(chuàng)建行集合會造成失敗。
參閱 有關 Microsoft SQL Server OLE DB Provider 的特定執(zhí)行的詳細資料和功能信息,請查閱 Data Access SDK 中的 Microsoft SQL Server OLE DB Provider 文檔。