共用方式為


初始化和授權屬性

SQL Server Native Client OLE DB 提供者會解譯 OLE DB 初始化和授權屬性,如下所示:

物業編號 說明
DBPROP_AUTH_CACHE_AUTHINFO SQL Server Native Client OLE DB 提供者不會快取驗證資訊。

SQL Server Native Client OLE DB 提供者會在嘗試設定屬性值時傳回DB_S_ERRORSOCCURRED。 DBPROP 結構的 dwStatus 成員表示DBPROPSTATUS_NOTSUPPORTED。
DBPROP_AUTH_ENCRYPT_PASSWORD SQL Server Native Client OLE DB 提供者會使用標準 MicrosoftSQL Server 安全性機制來隱藏密碼。

SQL Server Native Client OLE DB 提供者會在嘗試設定屬性值時傳回DB_S_ERRORSOCCURRED。 DBPROP 結構的 dwStatus 成員表示DBPROPSTATUS_NOTSUPPORTED。
DBPROP_AUTH_INTEGRATED 如果DBPROP_AUTH_INTEGRATED設定為 NULL 指標、null 字串或 'SSPI' VT_BSTR值,SQL Server Native Client OLE DB 提供者會使用 Windows 驗證模式來授權使用者存取DBPROP_INIT_DATASOURCE和DBPROP_INIT_CATALOG屬性所指定的 SQL Server 資料庫。

如果設定為 VT_EMPTY (預設值),則會使用 SQL Server 安全性。 SQL Server 登入和密碼是在 DBPROP_AUTH_USERID 和 DBPROP_AUTH_PASSWORD 屬性中指定。
DBPROP_AUTH_MASK_PASSWORD SQL Server Native Client OLE DB 提供者會使用標準 SQL Server 安全性機制來隱藏密碼。

SQL Server Native Client OLE DB 提供者會在嘗試設定屬性值時傳回DB_S_ERRORSOCCURRED。 DBPROP 結構的 dwStatus 成員表示DBPROPSTATUS_NOTSUPPORTED。
DBPROP_AUTH_PASSWORD 指派給 SQL Server 登入的密碼。 選取 [SQL Server 驗證] 以授權存取 SQL Server 資料庫時,會使用這個屬性。
DBPROP_AUTH_PERSIST_ENCRYPTED SQL Server Native Client OLE DB 提供者不會在保存時加密驗證資訊。

SQL Server Native Client OLE DB 提供者會在嘗試設定屬性值時傳回DB_S_ERRORSOCCURRED。 DBPROP 結構的 dwStatus 成員表示DBPROPSTATUS_NOTSUPPORTED。
DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO 如果要求,SQL Server Native Client OLE DB 提供者會保存驗證值,包括密碼的映像。 未提供加密。
DBPROP_AUTH_USERID SQL Server 登入。 選取 [SQL Server 驗證] 以授權存取 SQL Server 資料庫時,會使用這個屬性。
DBPROP_INIT_ASYNCH SQL Server Native Client OLE DB 提供者支援異步起始。

在 DBPROP_INIT_ASYNCH 屬性中設定DBPROPVAL_ASYNCH_INITIALIZE位會導致 IDBInitialize::Initialize 變成非封鎖呼叫。 如需詳細資訊,請參閱 執行異步作
DBPROP_INIT_CATALOG 要連接的現有 SQL Server 資料庫名稱。
DBPROP_INIT_DATASOURCE 執行 MicrosoftSQL Server 實例的伺服器網路名稱。 如果計算機上執行多個 SQL Server 實例,若要連接到 SQL Server 的特定實例,DBPROP_INIT_DATASOURCE的值會指定為 \\ServerName\InstanceName。 逸出序列 \\ 用於反斜杠本身。
DBPROP_INIT_GENERALTIMEOUT 指出要求之前的秒數,除了數據源初始化和命令執行之外,逾時。值為 0 表示無限逾時。透過網路連線或在分散式或交易案例中工作的提供者可以支援此屬性,以建議登記的元件在長時間執行的要求時逾時。 數據源初始化和命令執行的逾時會分別受到DBPROP_INIT_TIMEOUT和DBPROP_COMMANDTIMEOUT的控管。

DBPROP_INIT_GENERALTIMEOUT是只讀的,如果嘗試設定,則會傳回DBPROPSTATUS_NOTSETTABLE的 dwstatus 錯誤。
DBPROP_INIT_HWND 來自呼叫應用程式的 Windows 句柄。 當系統允許初始化屬性提示時所顯示的初始化對話方塊,需要有效的視窗句柄。
DBPROP_INIT_IMPERSONATION_LEVEL SQL Server Native Client OLE DB 提供者不支援模擬層級調整。

SQL Server Native Client OLE DB 提供者會在嘗試設定屬性值時傳回DB_S_ERRORSOCCURRED。 DBPROP 結構的 dwStatus 成員表示DBPROPSTATUS_NOTSUPPORTED。
DBPROP_INIT_LCID SQL Server Native Client OLE DB 提供者會驗證地區設定識別碼,並在用戶端上不支援或未安裝地區設定標識碼時傳回錯誤。
DBPROP_INIT_LOCATION SQL Server Native Client OLE DB 提供者會在嘗試設定屬性值時傳回DB_S_ERRORSOCCURRED。 DBPROP 結構的 dwStatus 成員表示DBPROPSTATUS_NOTSUPPORTED。
DBPROP_INIT_MODE SQL Server Native Client OLE DB 提供者會在嘗試設定屬性值時傳回DB_S_ERRORSOCCURRED。 DBPROP 結構的 dwStatus 成員表示DBPROPSTATUS_NOTSUPPORTED。
DBPROP_INIT_PROMPT SQL Server Native Client OLE DB 提供者支持數據源初始化的所有提示模式。 SQL Server Native Client OLE DB 提供者會使用 DBPROMPT_NOPROMPT 做為其屬性的預設設定。
DBPROP_INIT_PROTECTION_LEVEL SQL Server Native Client OLE DB 提供者不支持連線到 SQL Server 實例的保護層級。

SQL Server Native Client OLE DB 提供者會在嘗試設定屬性值時傳回DB_S_ERRORSOCCURRED。 DBPROP 結構的 dwStatus 成員表示DBPROPSTATUS_NOTSUPPORTED。
DBPROP_INIT_PROVIDERSTRING 請參閱本主題稍後的 SQL Server Native Client OLE DB 提供者字串。
DBPROP_INIT_TIMEOUT 如果無法在指定的秒數內建立與 SQL Server 實例的連線,SQL Server Native Client OLE DB 提供者會在初始化時傳回錯誤。

在提供者特定屬性集DBPROPSET_SQLSERVERDBINIT中,SQL Server Native Client OLE DB 提供者會定義這些額外的初始化屬性。

物業編號 說明
SSPROP_AUTH_OLD_PASSWORD 類型:VT_BSTR

R/W:寫入

默認值:VT_EMPTY

描述:目前或過期的密碼。 如需詳細資訊,請參閱 以程序設計方式變更密碼
SSPROP_INIT_APPNAME 類型:VT_BSTR

R/W:讀取/寫入

描述:用戶端應用程式名稱。
SSPROP_INIT_AUTOTRANSLATE 類型:VT_BOOL

R/W:讀取/寫入

默認值:VARIANT_TRUE

描述:OEM/ANSI 字元轉換。

VARIANT_TRUE:SQL Server Native Client OLE DB 提供者會藉由透過 Unicode 轉換來轉譯用戶端與伺服器之間傳送的 ANSI 字元字串,以將用戶端與伺服器代碼頁之間比對擴充字元的問題降到最低:

用戶端DBTYPE_STR傳送至 SQL Servercharvarchartext 變數、參數或數據行實例的數據會使用用戶端 ANSI 代碼頁 (ACP) 從字元轉換成 Unicode,然後使用伺服器的 ACP 從 Unicode 轉換成字元。

SQL Server charvarchar文字 數據傳送至用戶端DBTYPE_STR變數會使用伺服器 ACP 從字元轉換成 Unicode,然後使用用戶端 ACP 從 Unicode 轉換成字元。

這些轉換是由 SQL Server Native Client OLE DB 提供者在用戶端上執行。 這需要用戶端上可以使用伺服器上所使用的相同 ACP。

這些設定對於進行下列傳輸時所發生的轉換沒有作用:

Unicode DBTYPE_WSTR傳送至 伺服器上的 charvarchar文字 的客戶端數據。

將 charvarchartext 伺服器資料傳送至用戶端上的 Unicode DBTYPE_WSTR 變數。

ANSI DBTYPE_STR傳送至伺服器上的 Unicode ncharnvarcharntext 的客戶端數據。

傳送至用戶端 ANSI DBTYPE_STR 變數的 Unicode charvarchartext 伺服器數據。

VARIANT_FALSE:SQL Server Native Client OLE DB 提供者不會執行字元轉譯。

SQL Server Native Client OLE DB 提供者不會轉譯傳送至伺服器上 charvarchartext 變數、參數或數據行的用戶端 ANSI 字元DBTYPE_STR數據。 不會對從伺服器傳送到用戶端上DBTYPE_STR變數的 charvarchar文字 數據執行任何轉譯。

如果用戶端和 SQL Server 的實例使用不同的 AAP,則可以誤譯擴充字元。
SSPROP_INIT_CURRENTLANGUAGE 類型:VT_BSTR

R/W:讀取/寫入

描述:SQL Server 語言名稱。 識別用於系統訊息選取和格式設定的語言。 執行 SQL Server 實例或數據源初始化失敗的電腦上必須安裝語言。
SSPROP_INIT_DATATYPECOMPATIBILITY 類型:VT_UI2

R/W:讀取/寫入

預設值:0

描述:啟用 SQL Server 與 ActiveX Data Object (ADO) 應用程式之間的數據類型相容性。 如果使用預設值 0,則處理資料類型會預設為提供者所使用的數據類型。 如果使用 80 的值,數據類型處理只會使用 SQL Server 2000 數據類型。 如需詳細資訊,請參閱 搭配 SQL Server Native Client 使用 ADO
SSPROP_INIT_ENCRYPT 類型:VT_BOOL

R/W:讀取/寫入

默認值:VARIANT_FALSE

描述:若要加密透過網路傳送的數據,SSPROP_INIT_ENCRYPT 屬性會設定為 VARIANT_TRUE。

如果 [啟用通訊協定加密] 開啟,無論SSPROP_INIT_ENCRYPT的設定為何,一律都會進行加密。 如果關閉,且SSPROP_INIT_ENCRYPT設定為 VARIANT_TRUE,則會進行加密。

如果 [啟用通訊協定加密] 已關閉,且SSPROP_INIT_ENCRYPT設定為 [VARIANT_FALSE],則不會發生任何加密。
SSPROP_INIT_FAILOVERPARTNER 類型:VT_BSTR

R/W:讀取/寫入

描述:指定資料庫鏡像的故障轉移夥伴名稱。 它是初始化屬性,只能在初始化之前設定。 初始化之後,它會傳回故障轉移夥伴,如果有的話,由主伺服器傳回。

這可讓智慧型手機應用程式快取最近決定的備份伺服器,但這類應用程式應該注意,只有在第一次建立連線時才會更新資訊(或重設,如果集區已重設),而且可能會成為長期連線的過期狀態。

建立連線之後,應用程式可以查詢此屬性,以判斷故障轉移夥伴的身分識別。 如果主伺服器沒有故障轉移夥伴,這個屬性會傳回空字串。 如需詳細資訊,請參閱 使用資料庫鏡像
SSPROP_INIT_FILENAME 類型:VT_BSTR

R/W:讀取/寫入

描述:指定可附加資料庫的主要檔名。 此資料庫會附加,而且變成連接的預設資料庫。 若要使用SSPROP_INIT_FILENAME,您必須將資料庫的名稱指定為初始化屬性值DBPROP_INIT_CATALOG。 如果資料庫名稱不存在,則會尋找SSPROP_INIT_FILENAME中指定的主要檔名,並將該資料庫附加DBPROP_INIT_CATALOG中指定的名稱。 如果先前已附加資料庫,SQL Server 不會重新附加資料庫。
SSPROP_INIT_MARSCONNECTION 類型:VT_BOOL

R/W:讀取/寫入

默認值:VARIANT_FALSE

描述:指定是否為連線啟用多個使用中結果集 (MARS)。 在連接資料庫之前,此選項必須設定為 true。 如需詳細資訊,請參閱使用 Multiple Active Result Sets (MARS)
SSPROP_INIT_NETWORKADDRESS 類型:VT_BSTR

R/W:讀取/寫入

描述:執行 DBPROP_INIT_DATASOURCE 屬性所指定 SQL Server 實例的伺服器網路位址。
SSPROP_INIT_NETWORKLIBRARY 類型:VT_BSTR

R/W:讀取/寫入

描述:用來與 SQL Server 實例通訊的網路連結庫名稱。 名稱不應包含路徑或 .dll 擴展名。

您可以使用 SQL Server 用戶端組態公用程式來自定義預設值。 注意: 此屬性僅支援 TCP 和命名管道。 如果您將此屬性與前置詞搭配使用,最後會加上雙前置詞,這會導致錯誤,因為 屬性是用來在內部產生前置詞。
SSPROP_INIT_PACKETSIZE 類型:VT_I4

R/W:讀取/寫入

描述:以位元組為單位的網路封包大小。 封包大小屬性值必須介於 512 和 32,767 之間。 默認 SQL Server Native Client OLE DB 提供者網路封包大小為 4,096。
SSPROP_INIT_TAGCOLUMNCOLLATION 類型:BOOL

R/W:寫入

默認值:FALSE

描述:使用伺服器端數據指標時,會在資料庫更新期間使用。 此屬性會使用從伺服器取得的定序資訊來標記數據,而不是用戶端上的代碼頁。 目前,這個屬性只會由分散式查詢進程使用,因為它知道目的地數據的定序,並正確地轉換它。
SSPROP_INIT_TRUST_SERVER_CERTIFICATE 類型:VT_BOOL

R/W:讀取/寫入

默認值:VARIANT_FALSE

描述:用來啟用或停用伺服器證書驗證。 這個屬性是可擦寫的,但在建立連接之後嘗試設定此屬性會導致錯誤。

如果客戶端設定為需要憑證驗證,則會忽略這個屬性。 不過,應用程式可與 SSPROP_INIT_ENCRYPT 一起使用,以確保其與伺服器的連線已加密,即使用戶端設定為不需要加密,也不會在用戶端上布建憑證。

用戶端應用程式可以在開啟連線之後查詢此屬性,以判斷使用中的實際加密和驗證設定。 注意: 在沒有憑證驗證的情況下使用加密可針對封包探查提供部分保護,但不會防範中間人攻擊。 它只允許加密傳送至伺服器的登入和數據,而不需要驗證伺服器證書。

如需詳細資訊,請參閱 使用加密而不驗證
SSPROP_INIT_USEPROCFORPREP 類型:VT_I4

R/W:讀取/寫入

默認值:SSPROPVAL_USEPROCFORPREP_ON

描述:SQL Server 預存程式使用。 定義使用 SQL Server 暫存程式來支援 ICommandPrepare 介面。 只有當連接到 SQL Server 6.5 時,這個屬性才有意義。 較新版本會忽略 屬性。

SSPROPVAL_USEPROCFORPREP_OFF:準備命令時,不會建立暫存程式。

SSPROPVAL_USEPROCFORPREP_ON:準備命令時會建立暫存程式。 釋放工作階段時,會卸除暫存程式。

SSPROPVAL_USEPROCFORPREP_ON_DROP:準備命令時會建立暫存程式。 使用 ICommandPrepare::Unprepare 取消準備命令時,使用 ICommandText::SetCommandText 為命令物件指定新的命令時,或釋放命令的所有應用程式參考時,就會卸除此程式。
SSPROP_INIT_WSID 類型:VT_BSTR

R/W:讀取/寫入

描述:識別工作站的字串。

在提供者特定屬性集DBPROPSET_SQLSERVERDATASOURCEINFO,SQL Server Native Client OLE DB 提供者會定義其他屬性;如需詳細資訊,請參閱 數據源資訊屬性

SQL Server Native Client OLE DB 提供者字串

SQL Server Native Client OLE DB 提供者可辨識提供者字串屬性值中類似 ODBC 的語法。 當建立與 OLE DB 數據源的連線時,提供者字串屬性會做為 OLE DB 初始化屬性值DBPROP_INIT_PROVIDERSTRING。 這個屬性會指定實作 OLE DB 資料源連接所需的 OLE DB 提供者特定連接數據。 在字串中,元素會使用分號分隔。 字串中的最後一個項目必須以分號終止。 每個元素都包含關鍵詞、等號字元,以及在初始化時傳遞的值。 例如:

Server=MyServer;UID=MyUserName;  

使用 SQL Server Native Client OLE DB 提供者時,取用者永遠不需要使用提供者字串屬性。 取用者可以使用 OLE DB 或 SQL Server Native Client OLE DB 提供者特定的初始化屬性,來設定提供者字串中反映的任何初始化屬性。

如需 SQL Server Native Client OLE DB 提供者中可用的關鍵詞清單,請參閱 搭配 SQL Server Native Client 使用連接字元串關鍵詞

另請參閱

資料來源物件 (OLE DB)