搭配 SQL Server Native Client 使用連接字串關鍵字

適用於:SQL ServerAzure SQL DatabaseAzure SQL 受控執行個體Azure Synapse AnalyticsAnalytics Platform System (PDW)

重要

SQL Server Native Client (通常縮寫為 SNAC) 已從 SQL Server 2022 (16.x) 和 SQL Server Management Studio 19 (SSMS) 中移除。 不建議使用 SQL Server Native Client (SQLNCLI 或 SQLNCLI11) 和舊版 Microsoft OLE DB Provider for SQL Server (SQLOLEDB) 開發新的應用程式。 往後請改用新的 Microsoft OLE DB Driver (MSOLEDBSQL) for SQL Server 或最新的 Microsoft ODBC Driver for SQL Server。 如需 SQL Server 資料庫引擎元件隨附的 SQLNCLI(版本 2012 到 2019),請參閱此 支援生命週期例外狀況

某些 SQL Server Native Client API 會使用連接字串來指定連接屬性。 連接字串是關鍵字和相關聯值的清單;每個關鍵字都會識別特定的連接屬性。

如需詳細資訊,請參閱 搭配 OLE DB Driver for SQL Server 使用連接字串關鍵字。

注意

SQL Server Native Client 允許連接字串中的模棱兩可維持回溯相容性(例如,某些關鍵字可以多次指定,而且根據位置或優先順序而允許衝突的關鍵字進行解析)。 修改應用程式以使用 SQL Server Native Client 來消除連接字串模棱兩可的任何相依性時,這是很好的作法。

下列各節說明搭配 SQL Server Native Client OLE DB 提供者、SQL Server Native Client ODBC 驅動程式,以及使用 SQL Server Native Client Data Objects (ADO) 做為資料提供者時,可與 SQL Server Native Client 搭配使用的關鍵字。

ODBC 驅動程式連接字串關鍵字

ODBC 應用程式會使用連接字串作為 SQLDriverConnect 和 SQLBrowseConnect 函式的參數。

ODBC 所使用的連接字串具有下列語法:

connection-string ::= empty-string[;] | attribute[;] | attribute; connection-string

empty-string ::=

attribute ::= attribute-keyword=[{]attribute-value[}]

attribute-value ::= character-string

attribute-keyword ::= identifier

屬性值可以選擇性地以大括弧括住,最好這樣做。 當屬性值包含非英數位元時,這可避免發生問題。 值中的第一個右大括弧會假設終止值,因此值不能包含右大括弧字元。

下表描述可與 ODBC 連接字串搭配使用的關鍵字。

關鍵字 描述
Addr 「Address」 的同義字。
地址 執行 SQL Server 執行個體的伺服器網路位址。 Address 通常是伺服器的網路名稱,不過也可能是其他名稱,例如管道、IP 位址,或 TCP/IP 通訊埠和通訊端位址。

若您指定 IP 位址,請確定在 SQL Server 組態管理員中已啟用 TCP/IP 或具名管道通訊協定。

使用 SQL Server Native Client 時,Address 的值 優先于 ODBC 連接字串中傳遞至 伺服器 的值。 同時請注意,Address=; 將會連接到 Server 關鍵字中指定的伺服器,而 Address= ;, Address=.;Address=localhost;Address=(local); 都會造成與本機伺服器的連接。

Address 關鍵字的完整語法如下:

[protocol:]Address[,port |\pipe\pipename]

protocol 可以是 tcp (TCP/IP)、 lpc (共用記憶體) 或 np (具名管道)。 如需有關通訊協定的詳細資訊,請參閱設定用戶端通訊協定

如果未指定通訊協定 Network 關鍵字,SQL Server Native Client 將會使用 SQL Server 組態管理員中指定的通訊協定順序。

port 是在指定伺服器上所要連接的通訊埠。 根據預設,SQL Server 會使用連接埠 1433。
AnsiNPW 當 「是」時,驅動程式會使用 ANSI 定義的行為來處理 Null 比較、字元資料填補、警告和 Null 串連。 當 「no」 時,不會公開 ANSI 定義的行為。 如需 ANSI NPW 行為的詳細資訊,請參閱 ISO 選項 的效果。
APP 呼叫 SQLDriverConnect 的應用程式名稱(選擇性)。 如果指定,這個值會儲存在 master.dbo.sysprocesses 資料行program_name ,並由sp_who APP_NAME 函式傳 回。
ApplicationIntent 宣告連接到伺服器時的應用程式工作負載類型。 可能的值為 ReadOnlyReadWrite。 預設值為 ReadWrite 。 例如:

ApplicationIntent=ReadOnly

如需 SQL Server Native Client 對 AlwaysOn 可用性群組支援的詳細資訊,請參閱 SQL Server Native Client 支援高可用性、災害復原
AttachDBFileName 可附加資料庫的主要檔案名稱。 如果使用 C 字元字串變數,請包含完整路徑並逸出任何 \ 字元:

AttachDBFileName=c:\\MyFolder\\MyDB.mdf

此資料庫會附加,而且變成連接的預設資料庫。 若要使用 AttachDBFileName ,您也必須在 SQLDriverConnect DATABASE 參數或SQL_COPT_CURRENT_CATALOG連接屬性中 指定資料庫名稱。 如果資料庫先前已附加,SQL Server 不會重新附加它;它會使用附加的資料庫做為連接的預設。
AutoTranslate 當 「是」時,用戶端與伺服器之間傳送的 ANSI 字元字串會透過 Unicode 進行轉換來轉譯,以將用戶端與伺服器字碼頁之間的擴充字元比對問題降到最低。

用戶端SQL_C_CHAR傳送至 SQL Server char Varchar text 變數、參數或資料行的資料會使用用戶端 ANSI 字碼頁 (ACP) 從字元轉換成 Unicode,然後使用伺服器的 ACP 從 Unicode 轉換成字元。

SQL Server char Varchar 文字 資料傳送至用戶端SQL_C_CHAR變數會使用伺服器 ACP 從字元轉換成 Unicode,然後使用用戶端 ACP 從 Unicode 轉換成字元。

這些轉換是由 SQL Server Native Client ODBC 驅動程式在用戶端上執行。 這需要用戶端上所使用的相同 ANSI 字碼頁 (ACP)。

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

* Unicode SQL_C_WCHAR傳送至 伺服器上的 char Varchar 文字 的用戶端資料。

* 將 char Varchar text 伺服器資料傳送至用戶端上的 Unicode SQL_C_WCHAR 變數。

* ANSI SQL_C_CHAR傳送至伺服器上的 Unicode Nchar Nvarchar Ntext 的用戶端資料。

* Unicode Nchar、 Nvarchar Ntext 伺服器資料傳送至用戶端上的 ANSI SQL_C_CHAR 變數。

當 「no」 時,不會執行字元轉譯。

SQL Server Native Client ODBC 驅動程式不會將用戶端 ANSI 字元轉譯SQL_C_CHAR傳送至 伺服器上的 char 、Varchar text 變數、 參數或資料行的資料。 不會對 從伺服器傳送到用戶端上SQL_C_CHAR變數的 char Varchar 文字 資料執行任何轉譯。

如果用戶端和 SQL Server 使用不同的 AAP,擴充字元可能會誤譯。
Database 連接的預設 SQL Server 資料庫名稱。 如果未 指定 Database ,則會使用為登入定義的預設資料庫。 ODBC 資料來源的預設資料庫會覆寫為登入定義的預設資料庫。 除非同時指定 AttachDBFileName ,否則 資料庫必須是現有的資料庫。 如果 也指定 AttachDBFileName ,則會附加它所指向的主要檔案,並指定 Database 指定的資料庫名稱。
驅動程式 SQLDrivers 回的驅動程式名稱。 SQL Server Native Client ODBC 驅動程式的關鍵字值為 「{SQL Server Native Client 11.0}」。 如果 指定 Driver,且 DriverCompletion 設定為 SQL_DRIVER_NOPROMPT,則需要 Server 關鍵字。

如需驅動程式名稱的詳細資訊,請參閱 使用 SQL Server Native Client 標頭和程式庫檔案
DSN 現有 ODBC 使用者或系統資料來源的名稱。 此關鍵字會覆寫伺服器、網路和 Address 關鍵字中 可能指定的任何值。
Encrypt 指定當透過網路傳送資料以前,是否應該先加密資料。 可能的值為 「yes」/「mandatory」(18.0+)、「no」/「optional」(18.0+)和 「strict」(18.0+)。 預設值為 18.0+ 版中的 「yes」,而舊版中的預設值為 「no」。
後援 此關鍵字已被取代,而且 SQL Server Native Client ODBC 驅動程式會忽略其設定。
Failover_Partner 如果無法連線到主伺服器,則要使用的容錯移轉夥伴伺服器名稱。
FailoverPartnerSPN 容錯移轉夥伴的 SPN。 預設值為空字串。 空字串會導致 SQL Server Native Client 使用預設的驅動程式產生的 SPN。
FileDSN 現有 ODBC 檔案資料來源的名稱。
語言 SQL Server 語言名稱(選擇性)。 SQL Server 可以在 sysmessages 中 儲存多種語言的 訊息。 如果使用多種語言連線到 SQL Server, Language 會指定用於連線的訊息集。
MARS_Connection 啟用或停用連接上的 Multiple Active Result Sets (MARS)。 辨識的值是 「yes」 和 「no」。 預設值為 「no」。
MultiSubnetFailover 連接到 SQL Server 可用性群組或 SQL Server 容錯移轉叢集實例的可用性群組接聽程式時,請一律指定 multiSubnetFailover=Yes multiSubnetFailover=Yes 會設定 SQL Server Native Client,以提供更快速的偵測和連線至作用中伺服器。 可能的值為 [是] 和 [否]。 預設值為 [否 ]。 例如:

MultiSubnetFailover=Yes

如需 SQL Server Native Client 對 AlwaysOn 可用性群組支援的詳細資訊,請參閱 SQL Server Native Client 支援高可用性、災害復原
Net 「Network」 的同義字。
Network 有效值為 dbnmpntw (具名管道)和 dbmssocn (TCP/IP)。

指定 Network 關鍵字的值 和 Server 關鍵字上的 通訊協定前置詞是錯誤的。
PWD UID 參數中指定的 SQL Server 登入帳戶密碼。 如果登入具有 Null 密碼,或使用 Windows 驗證 ( Trusted_Connection = yes ) 時,就不需要指定 PWD
QueryLog_On 當 「是」時,會在連線上啟用長時間執行的查詢資料。 當 「否」時,不會記錄長時間執行的查詢資料。
QueryLogFile 用來記錄長時間執行查詢之檔案的完整路徑和檔案名。
QueryLogTime 用於記錄長時間執行查詢的臨界值(以毫秒為單位)的數位字元字串。 任何未在指定時間取得回應的查詢,會寫入長時間執行的查詢記錄檔。
QuotedId 當 「yes」 時,QUOTED_IDENTIFIERS設定連線的 ON 時,SQL Server 會使用有關在 SQL 語句中使用引號的 ISO 規則。 若否,QUOTED_IDENTIFIERS會針對連線設定為 OFF。 然後,SQL Server 會遵循舊版 Transact-SQL 規則,以在 SQL 語句中使用引號。 如需詳細資訊,請參閱 ISO 選項 的效果。
Regional 當 「是」時,SQL Server Native Client ODBC 驅動程式會在將貨幣、日期和時間資料轉換成字元資料時,使用用戶端設定。 轉換只是單向;驅動程式無法辨識日期字串或貨幣值內的非 ODBC 標準格式;例如,INSERT 或 UPDATE 語句中使用的參數。 當 「no」 時,驅動程式會使用 ODBC 標準字串來表示轉換成字元資料的貨幣、日期和時間資料。
SaveFile 如果連接成功,則會儲存目前連接之屬性的 ODBC 資料來源檔案名稱。
Server SQL Server 執行個體的名稱。 此值必須是網路上的伺服器名稱、IP 位址,或是 SQL Server 組態管理員別名的名稱。

Address 關鍵字會覆寫 Server 關鍵字。

您可以指定下列其中一項,以連線到本機伺服器上的預設實例:

伺服器=;

伺服器=.;

伺服器=(local);

伺服器=(local);

伺服器=(localhost);

Server=(localdb)\instancename;

如需 LocalDB 支援的詳細資訊,請參閱 SQL Server Native Client Support for LocalDB

若要指定 SQL Server 的具名執行個體,請附加 \InstanceName

如果未指定伺服器,就會連接到本機電腦上的預設執行個體。

若您指定 IP 位址,請確定在 SQL Server 組態管理員中已啟用 TCP/IP 或具名管道通訊協定。

Server 關鍵字的完整語法如下:

伺服器= [通訊協定: ]伺服器[ ,連接埠]

protocol 可以是 tcp (TCP/IP)、 lpc (共用記憶體) 或 np (具名管道)。

以下是指定具名管道的範例:

np:\\.\pipe\MSSQL$MYINST01\sql\query

這一行會指定具名管道通訊協定、本機電腦上的具名管道( \\.\pipe )、SQL Server 實例的名稱, MSSQL$MYINST01 以及具名管道的預設名稱( sql/query )。

如果未指定通訊協定 Network 關鍵字,SQL Server Native Client 將會使用 SQL Server 組態管理員中指定的通訊協定順序。

port 是在指定伺服器上所要連接的通訊埠。 根據預設,SQL Server 會使用連接埠 1433。

使用 SQL Server Native Client 時,在 ODBC 連接字串中傳遞至 Server 的值開頭會忽略空格。
ServerSPN 伺服器的 SPN。 預設值為空字串。 空字串會導致 SQL Server Native Client 使用預設的驅動程式產生的 SPN。
StatsLog_On 當 「是」時,啟用 SQL Server Native Client ODBC 驅動程式效能資料的擷取。 當 「否」時,連線上無法使用 SQL Server Native Client ODBC 驅動程式效能資料。
StatsLogFile 用來記錄 SQL Server Native Client ODBC 驅動程式效能統計資料之檔案的完整路徑和檔案名。
Trusted_Connection 當 「是」時,會指示 SQL Server Native Client ODBC 驅動程式使用 Windows 驗證模式進行登入驗證。 否則會指示 SQL Server Native Client ODBC 驅動程式使用 SQL Server 使用者名稱和密碼進行登入驗證,而且必須指定 UID 和 PWD 關鍵字。
TrustServerCertificate 與 Encrypt 搭配 使用時,使用自我簽署的伺服器憑證啟用加密。
UID 有效的 SQL Server 登入帳戶。 使用 Windows 驗證時,不需要指定 UID。
UseProcForPrepare 此關鍵字已被取代,而且 SQL Server Native Client ODBC Driver 會忽略其設定。
WSID 工作站識別碼。 一般而言,這是應用程式所在的電腦網路名稱(選擇性)。 如果指定,此值會儲存在 master.dbo.sysprocesses 資料行 主機名稱 ,並由 sp_who HOST_NAME 函式傳 回。

注意

區域轉換設定適用于貨幣、數值、日期和時間資料類型。 轉換設定僅適用于輸出轉換,而且只有在貨幣、數值、日期或時間值轉換成字元字串時才會顯示。

SQL Server Native Client ODBC 驅動程式會使用目前使用者的地區設定登錄設定。 如果應用程式在連接之後設定驅動程式,則驅動程式不會接受目前線程的地區設定,例如呼叫 SetThreadLocale

改變數據源的區域行為可能會導致應用程式失敗。 剖析日期字串並預期 DATE 字串顯示為 ODBC 所定義的應用程式,可能會因為改變此值而產生負面影響。

OLE DB 提供者連接字串關鍵字

OLE DB 應用程式有兩種方法可初始化資料來源物件:

  • IDBInitialize::Initialize

  • IDataInitialize::GetDataSource

在第一個案例中,提供者字串可用來初始化連接屬性,其方式是在 DBPROPSET_DBINIT 屬性集中設定 DBPROP_INIT_PROVIDERSTRING 屬性。 在第二個案例中,初始化字串可以傳遞給 IDataInitialize::GetDataSource 方法來初始化連接屬性。 這兩個方法都會初始化相同的 OLE DB 連接屬性,但是會使用不同的關鍵字集合。 IDataInitialize::GetDataSource 所使用的關鍵字集合,至少是初始化屬性群組內的屬性描述。

如果任何提供者字串設定所包含的對應 OLE DB 屬性設定為預設值或明確設定為某個值,OLE DB 屬性值將在提供者字串中覆寫此設定。

透過DBPROP_INIT_PROVIDERSTRING值在提供者字串中設定的布林屬性會使用值 「yes」 和 「no」 來設定。 使用 IDataInitialize::GetDataSource 在初始化字串中設定的布林屬性會使用值 「true」 和 「false」 來設定。

使用 IDataInitialize::GetDataSource 的應用程式也可以使用 IDBInitialize::Initialize 所使用的 關鍵字,但僅適用于沒有預設值的屬性。 如果應用程式在初始化字串中同時使用 IDataInitialize::GetDataSource 關鍵字和 IDBInitialize::Initialize 關鍵字,則會使用 IDataInitialize::GetDataSource 關鍵字設定。 強烈建議應用程式不要在 IDataInitialize:GetDataSource 連接字串中使用 IDBInitialize::Initialize 關鍵字,因為未來版本中可能不會維護此行為。

注意

透過 IDataInitialize::GetDataSource 傳遞的連接字串會經由 IDBProperties::SetProperties 轉換成屬性並加以套用。 如果元件服務在 IDBProperties::GetPropertyInfo 中找到屬性描述,此屬性將會作為獨立屬性來套用。 否則,它將會透過 DBPROP_PROVIDERSTRING 屬性來套用。 例如,如果您指定連接字串 Data Source=server1;Server=server2 資料來源 將會設定為屬性,但 伺服器 會進入提供者字串。

如果您指定相同提供者特有之屬性的多個執行個體,將會使用第一個屬性的值。

OLE DB 應用程式使用的連接字串如果搭配 IDBInitialize::Initialize 使用 DBPROP_INIT_PROVIDERSTRING,其語法如下:

connection-string ::= empty-string[;] | attribute[;] | attribute; connection-string

empty-string ::=

attribute ::= attribute-keyword=[{]attribute-value[}]

attribute-value ::= character-string

attribute-keyword ::= identifier

屬性值可以選擇性地以大括弧括住,最好這樣做。 當屬性值包含非英數位元時,這可避免發生問題。 值中的第一個右大括弧會假設終止值,因此值不能包含右大括弧字元。

連接字串關鍵字 = 符號後面的空格字元應該解譯為常值,即使該值括在引號內也是如此。

下表描述可搭配 DBPROP_INIT_PROVIDERSTRING 使用的關鍵字。

關鍵字 初始化屬性 描述
Addr SSPROP_INIT_NETWORKADDRESS 「Address」 的同義字。
位址 SSPROP_INIT_NETWORKADDRESS 組織中 SQL Server 執行個體的網路位址。

如需有效位址語法的詳細資訊,請參閱本主題稍後的 Address ODBC 關鍵字描述。
APP SSPROP_INIT_APPNAME 識別應用程式的字串。
ApplicationIntent SSPROP_INIT_APPLICATIONINTENT 宣告連接到伺服器時的應用程式工作負載類型。 可能的值為 ReadOnlyReadWrite

預設值為 ReadWrite 。 如需 SQL Server Native Client 對 AlwaysOn 可用性群組支援的詳細資訊,請參閱 SQL Server Native Client 支援高可用性、災害復原
AttachDBFileName SSPROP_INIT_FILENAME 可附加資料庫的主要檔案名稱,包括完整路徑名稱。 若要使用 AttachDBFileName,您還必須使用提供者字串 Database 關鍵字來指定資料庫名稱。 如果資料庫先前已附加,SQL Server 不會重新附加它(它會使用附加的資料庫做為連接的預設)。
自動轉譯 SSPROP_INIT_AUTOTRANSLATE 「AutoTranslate」 的同義字。
AutoTranslate SSPROP_INIT_AUTOTRANSLATE 設定 OEM/ANSI 字元轉譯。 辨識的值是 「yes」 和 「no」。
Database DBPROP_INIT_CATALOG 資料庫名稱。
DataTypeCompatibility SSPROP_INIT_DATATYPECOMPATIBILITY 指定要使用的資料類型處理模式。 可辨識的值是提供者資料類型的 「0」,而 SQL Server 2000 資料類型則為 「80」。
Encrypt SSPROP_INIT_ENCRYPT 指定當透過網路傳送資料以前,是否應該先加密資料。 可能的值為 「yes」 和 「no」。 預設值為 「no」。
FailoverPartner SSPROP_INIT_FAILOVERPARTNER 用於資料庫鏡像的容錯移轉伺服器名稱。
FailoverPartnerSPN SSPROP_INIT_FAILOVERPARTNERSPN 容錯移轉夥伴的 SPN。 預設值為空字串。 空字串會導致 SQL Server Native Client 使用預設的提供者產生的 SPN。
語言 SSPROP_INIT_CURRENTLANGUAGE SQL Server 語言。
MarsConn SSPROP_INIT_MARSCONNECTION 當伺服器為 SQL Server 2005 (9.x) 或更新版本時,啟用或停用連接上的 Multiple Active Result Sets (MARS)。 可能的值為 「yes」 和 「no」。 預設值為 「no」。
Net SSPROP_INIT_NETWORKLIBRARY 「Network」 的同義字。
Network SSPROP_INIT_NETWORKLIBRARY 用來建立組織中 SQL Server 執行個體連線的網路程式庫。
Network Library SSPROP_INIT_NETWORKLIBRARY 「Network」 的同義字。
PacketSize SSPROP_INIT_PACKETSIZE 網路封包大小。 預設值為 4096。
PersistSensitive DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO 接受字串 「yes」 和 「no」 作為值。 當 「no」 時,不允許資料來源物件保存敏感性驗證資訊
PWD DBPROP_AUTH_PASSWORD SQL Server 登入密碼。
Server DBPROP_INIT_DATASOURCE 組織中 SQL Server 執行個體的名稱。

如果沒有指定,就會連接至本機電腦上的預設執行個體。

如需有效位址語法的詳細資訊,請參閱本主題中的 Server ODBC 關鍵字描述
ServerSPN SSPROP_INIT_SERVERSPN 伺服器的 SPN。 預設值為空字串。 空字串會導致 SQL Server Native Client 使用預設的提供者產生的 SPN。
逾時 DBPROP_INIT_TIMEOUT 等候資料來源初始化完成的時間量 (以秒為單位)。
Trusted_Connection DBPROP_AUTH_INTEGRATED 當 「是」時,會指示 SQL Server Native Client OLE DB 提供者使用 Windows 驗證模式進行登入驗證。 否則會指示 SQL Server Native Client OLE DB 提供者使用 SQL Server 使用者名稱和密碼進行登入驗證,而且必須指定 UID 和 PWD 關鍵字。
TrustServerCertificate SSPROP_INIT_TRUST_SERVER_CERTIFICATE 接受字串 「yes」 和 「no」 作為值。 預設值為 「no」,這表示將會驗證伺服器憑證。
UID DBPROP_AUTH_USERID SQL Server 登入名稱。
UseProcForPrepare SSPROP_INIT_USEPROCFORPREP 這個關鍵字已被取代,而且 SQL Server Native Client OLE DB 提供者會忽略其設定。
WSID SSPROP_INIT_WSID 工作站識別碼。

OLE DB 應用程式使用的連接字串如果使用 IDataInitialize::GetDataSource,其語法如下:

connection-string ::= empty-string[;] | attribute[;] | attribute; connection-string

empty-string ::=

attribute ::= attribute-keyword=[quote]attribute-value[quote]

attribute-value ::= character-string

attribute-keyword ::= identifier

quote ::= " | '

屬性的使用必須符合其範圍內所允許的語法。 例如,WSID 會使用大括號 ( {} ) 字元,而 Application Name 會使用單引號 ( ' ) 或雙引號 ( " ) 字元。 只有字串屬性可以加上引號。 嘗試引用整數或列舉屬性會導致「連接字串不符合 OLE DB 規格」錯誤。

屬性值可以選擇性地以單引號或雙引號括住,最好這樣做。 當值包含非英數位元時,這可避免發生問題。 如果使用的引號字元也可以出現在值中,前提是其會加倍。

連接字串關鍵字 = 符號後面的空格字元應該解譯為常值,即使該值括在引號內也是如此。

如果連接字串具有下表所列的多個屬性,將會使用最後一個屬性的值。

下表說明可搭配 IDataInitialize::GetDataSource 使用的關鍵字:

關鍵字 初始化屬性 描述
應用程式名稱 SSPROP_INIT_APPNAME 識別應用程式的字串。
Application Intent SSPROP_INIT_APPLICATIONINTENT 「ApplicationIntent」 的同義字。
ApplicationIntent SSPROP_INIT_APPLICATIONINTENT 宣告連接到伺服器時的應用程式工作負載類型。 可能的值為 ReadOnlyReadWrite

預設值為 ReadWrite 。 如需 SQL Server Native Client 對 AlwaysOn 可用性群組支援的詳細資訊,請參閱 SQL Server Native Client 支援高可用性、災害復原
自動轉譯 SSPROP_INIT_AUTOTRANSLATE 「AutoTranslate」 的同義字。
AutoTranslate SSPROP_INIT_AUTOTRANSLATE 設定 OEM/ANSI 字元轉譯。 辨識的值是 「true」 和 「false」。
連接逾時 DBPROP_INIT_TIMEOUT 等候資料來源初始化完成的時間量 (以秒為單位)。
Current Language SSPROP_INIT_CURRENTLANGUAGE SQL Server 語言名稱。
資料來源 DBPROP_INIT_DATASOURCE 組織中 SQL Server 執行個體的名稱。

如果沒有指定,就會連接至本機電腦上的預設執行個體。

如需有效位址語法的詳細資訊,請參閱本主題稍後的伺服器 ODBC 關鍵字描述。
DataTypeCompatibility SSPROP_INIT_DATATYPECOMPATIBILITY 指定要使用的資料類型處理模式。 可辨識的值是提供者資料類型的 「0」,而 SQL Server 2000 (8.x) 資料類型則為 「80」。
Failover Partner SSPROP_INIT_FAILOVERPARTNER 用於資料庫鏡像的容錯移轉伺服器名稱。
Failover Partner SPN SSPROP_INIT_FAILOVERPARTNERSPN 容錯移轉夥伴的 SPN。 預設值為空字串。 空字串會導致 SQL Server Native Client 使用預設的提供者產生的 SPN。
初始目錄 DBPROP_INIT_CATALOG 資料庫名稱。
初始檔案名稱 SSPROP_INIT_FILENAME 可附加資料庫的主要檔案名稱,包括完整路徑名稱。 若要使用 AttachDBFileName,您還必須使用提供者字串 DATABASE 關鍵字來指定資料庫名稱。 如果資料庫先前已附加,SQL Server 不會重新附加它(它會使用附加的資料庫做為連接的預設)。
整合式安全性 DBPROP_AUTH_INTEGRATED 接受 Windows 驗證的 「SSPI」 值。
MARS Connection SSPROP_INIT_MARSCONNECTION 啟用或停用連接上的 Multiple Active Result Sets (MARS)。 辨識的值是 「true」 和 「false」。 預設值為 「false」。
Network Address SSPROP_INIT_NETWORKADDRESS 組織中 SQL Server 執行個體的網路位址。

如需有效位址語法的詳細資訊,請參閱本主題稍後的 Address ODBC 關鍵字描述。
Network Library SSPROP_INIT_NETWORKLIBRARY 用來建立組織中 SQL Server 執行個體連線的網路程式庫。
封包大小 SSPROP_INIT_PACKETSIZE 網路封包大小。 預設值為 4096。
密碼 DBPROP_AUTH_PASSWORD SQL Server 登入密碼。
保存安全性資訊 DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO 接受字串 「true」 和 「false」 作為值。 當 「false」 時,不允許資料來源物件保存敏感性驗證資訊
提供者 針對 SQL Server Native Client,這應該是 「SQLNCLI11」。
Server SPN SSPROP_INIT_SERVERSPN 伺服器的 SPN。 預設值為空字串。 空字串會導致 SQL Server Native Client 使用預設的提供者產生的 SPN。
信任伺服器憑證 SSPROP_INIT_TRUST_SERVER_CERTIFICATE 接受字串 「true」 和 「false」 作為值。 預設值為 「false」,這表示會驗證伺服器憑證。
使用資料加密 SSPROP_INIT_ENCRYPT 指定當透過網路傳送資料以前,是否應該先加密資料。 可能的值為 「true」 和 「false」。 預設值為 "false"。
使用者識別碼 DBPROP_AUTH_USERID SQL Server 登入名稱。
Workstation ID SSPROP_INIT_WSID 工作站識別碼。

注意 在連接字串中,「舊密碼」屬性會設定SSPROP_AUTH_OLD_PASSWORD,這是目前無法透過提供者字串屬性使用的密碼。

ActiveX Data Objects (ADO) 連接字串關鍵字

ADO 應用程式會設定 ADODBConnection 物件的 ConnectionString 屬性,或是提供連接字串當做 ADODBConnection 物件之 Open 方法的參數。

ADO 應用程式也可以使用 OLE DB IDBInitialize::Initialize 方法所使用的關鍵字,但僅適用于沒有預設值的屬性。 如果應用程式在初始化字串中同時使用 ADO 關鍵字和 IDBInitialize::Initialize 關鍵字,將會使用 ADO 關鍵字設定。 強烈建議應用程式只使用 ADO 連接字串關鍵字。

ADO 使用的連接字串具有以下語法:

connection-string ::= empty-string[;] | attribute[;] | attribute; connection-string

empty-string ::=

attribute ::= attribute-keyword=["]attribute-value["]

attribute-value ::= character-string

attribute-keyword ::= identifier

屬性值可以選擇性地以雙引號括住,最好這樣做。 當值包含非英數位元時,這可避免發生問題。 屬性值不能包含雙引號。

下表描述可搭配 ADO 連接字串使用的關鍵字:

關鍵字 初始化屬性 描述
Application Intent SSPROP_INIT_APPLICATIONINTENT 「ApplicationIntent」 的同義字。
ApplicationIntent SSPROP_INIT_APPLICATIONINTENT 宣告連接到伺服器時的應用程式工作負載類型。 可能的值為 ReadOnlyReadWrite

預設值為 ReadWrite 。 如需 SQL Server Native Client 對 AlwaysOn 可用性群組支援的詳細資訊,請參閱 SQL Server Native Client 支援高可用性、災害復原
應用程式名稱 SSPROP_INIT_APPNAME 識別應用程式的字串。
自動轉譯 SSPROP_INIT_AUTOTRANSLATE 「AutoTranslate」 的同義字。
AutoTranslate SSPROP_INIT_AUTOTRANSLATE 設定 OEM/ANSI 字元轉譯。 辨識的值是 「true」 和 「false」。
連接逾時 DBPROP_INIT_TIMEOUT 等候資料來源初始化完成的時間量 (以秒為單位)。
Current Language SSPROP_INIT_CURRENTLANGUAGE SQL Server 語言名稱。
資料來源 DBPROP_INIT_DATASOURCE 組織中 SQL Server 執行個體的名稱。

如果沒有指定,就會連接至本機電腦上的預設執行個體。

如需有效位址語法的詳細資訊,請參閱本主題中的 Server ODBC 關鍵字描述
DataTypeCompatibility SSPROP_INIT_DATATYPECOMPATIBILITY 指定即將使用之資料類型處理的模式。 可辨識的值是提供者資料類型的 「0」,而 SQL Server 2000 資料類型則為 「80」。
Failover Partner SSPROP_INIT_FAILOVERPARTNER 用於資料庫鏡像的容錯移轉伺服器名稱。
Failover Partner SPN SSPROP_INIT_FAILOVERPARTNERSPN 容錯移轉夥伴的 SPN。 預設值為空字串。 空字串會導致 SQL Server Native Client 使用預設的提供者產生的 SPN。
初始目錄 DBPROP_INIT_CATALOG 資料庫名稱。
初始檔案名稱 SSPROP_INIT_FILENAME 可附加資料庫的主要檔案名稱,包括完整路徑名稱。 若要使用 AttachDBFileName,您還必須使用提供者字串 DATABASE 關鍵字來指定資料庫名稱。 如果資料庫先前已附加,SQL Server 不會重新附加它(它會使用附加的資料庫做為連接的預設)。
整合式安全性 DBPROP_AUTH_INTEGRATED 接受 Windows 驗證的 「SSPI」 值。
MARS Connection SSPROP_INIT_MARSCONNECTION 當伺服器為 SQL Server 2005 (9.x) 或更新版本時,啟用或停用連接上的 Multiple Active Result Sets (MARS)。 辨識的值是 「true」 和 「false」。預設值為 「false」。
Network Address SSPROP_INIT_NETWORKADDRESS 組織中 SQL Server 執行個體的網路位址。

如需有效位址語法的詳細資訊,請參閱本主題中的 Address ODBC 關鍵字描述
Network Library SSPROP_INIT_NETWORKLIBRARY 用來建立組織中 SQL Server 執行個體連線的網路程式庫。
封包大小 SSPROP_INIT_PACKETSIZE 網路封包大小。 預設值為 4096。
密碼 DBPROP_AUTH_PASSWORD SQL Server 登入密碼。
保存安全性資訊 DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO 接受字串 「true」 和 「false」 作為值。 當 「false」 時,不允許資料來源物件保存敏感性驗證資訊。
提供者 針對 SQL Server Native Client,這應該是 「SQLNCLI11」。
Server SPN SSPROP_INIT_SERVERSPN 伺服器的 SPN。 預設值為空字串。 空字串會導致 SQL Server Native Client 使用預設的提供者產生的 SPN。
信任伺服器憑證 SSPROP_INIT_TRUST_SERVER_CERTIFICATE 接受字串 「true」 和 「false」 作為值。 預設值為 「false」,這表示會驗證伺服器憑證。
使用資料加密 SSPROP_INIT_ENCRYPT 指定當透過網路傳送資料以前,是否應該先加密資料。 可能的值為 「true」 和 「false」。 預設值為 "false"。
使用者識別碼 DBPROP_AUTH_USERID SQL Server 登入名稱。
Workstation ID SSPROP_INIT_WSID 工作站識別碼。

注意 在連接字串中,「舊密碼」屬性會設定SSPROP_AUTH_OLD_PASSWORD,這是目前無法透過提供者字串屬性使用的密碼。

另請參閱

使用 SQL Server Native Client 建置應用程式