此頁沒有內(nèi)容條目
內(nèi)容

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置為 TrueFalse。默認值是 False。如果將屬性設置為 True,則 SQLOLEDB 將使用 Microsoft? Windows NT? 身份驗證模式授權用戶訪問由 LocationDatasource 屬性值指定的 SQL 服務器數(shù)據(jù)庫。如果將該屬性設置為 False,則 SQLOLEDB 將使用“混合模式”授權用戶訪問 SQL 服務器數(shù)據(jù)庫。SQL 服務器的登錄和密碼在 User IdPassword 屬性中指定。

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)換。該屬性可設置為 TrueFalse。默認值是 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 文檔。