搭配 SQL Server Native Client 使用連接字串關鍵字
某些 SQL Server Native Client API 會使用 連接字串 來指定連線屬性。 連接字串是關鍵詞和相關聯值的清單;每個關鍵詞都會識別特定的連接屬性。
請注意! SQL Server Native Client 允許在 連接字串 中模棱兩可地維持回溯相容性(例如,某些關鍵詞可以多次指定,而且根據位置或優先順序,可能會允許衝突的關鍵詞來解析)。 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” 的同義字。 |
Address |
執行 SQL Server 執行個體的伺服器網路位址。 Address 通常是伺服器的網路名稱,但可以是管道、IP 位址或 TCP/IP 埠和套接字位址等其他名稱。若您指定 IP 位址,請確定在 SQL Server 組態管理員中已啟用 TCP/IP 或具名管道通訊協定。 使用 SQL Server Native Client 時,的值 Address 優先於在 ODBC 連接字串 中傳遞的值Server 。 另請注意, 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 |
宣告連接到伺服器時的應用程式工作負載類型。 可能的值是 ReadOnly 和 ReadWrite 。 例如:ApplicationIntent=ReadOnly預設值為 ReadWrite 。 如需 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 或 text 的客戶端數據。 - 將 char、 varchar 或 text 伺服器資料傳送至用戶端上的 Unicode SQL_C_WCHAR 變數。 - ANSI SQL_C_CHAR傳送至伺服器上的 Unicode nchar、 nvarchar 或 ntext 的客戶端數據。 - 在用戶端上傳送至 ANSI SQL_C_CHAR 變數的 Unicode nchar、 nvarchar 或 ntext 伺服器數據。 當 “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 指定的資料庫名稱。 |
Driver |
SQLDrivers 傳回的驅動程式名稱。 SQL Server Native Client ODBC 驅動程序的關鍵詞值為 “{SQL Server Native Client 11.0}”。 Server 如果Driver 已指定 ,且 DriverCompletion 設定為 SQL_DRIVER_NOPROMPT,則需要 關鍵詞。如需驅動程式名稱的詳細資訊,請參閱 使用 SQL Server Native Client 標頭和連結庫檔案。 |
DSN |
現有 ODBC 使用者或系統數據來源的名稱。 此關鍵詞會覆寫、 和 Address 關鍵詞中Server Network 可能指定的任何值。 |
Encrypt |
指定當透過網路傳送資料以前,是否應該先加密資料。 可能的值為 「yes」 和 「no」。 預設值為 「no」。。 |
Fallback |
此關鍵詞已被取代,而且 SQL Server Native Client ODBC 驅動程式會忽略其設定。 |
Failover_Partner |
如果無法連線到主伺服器,則要使用的故障轉移夥伴伺服器名稱。 |
FailoverPartnerSPN |
容錯移轉夥伴的 SPN。 預設值為空字串。 空字串會導致 SQL Server Native Client 使用預設的驅動程式產生的 SPN。 |
FileDSN |
現有 ODBC 檔案數據來源的名稱。 |
Language |
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,以提供更快速的偵測和連線至作用中伺服器。 可能的值是 Yes 和 No 。 例如:MultiSubnetFailover=Yes 預設值為 No 。 如需 SQL Server Native Client 對 AlwaysOn 可用性群組支援的詳細資訊,請參閱 SQL Server Native Client 支援高可用性、災害復原。 |
Net |
“Network” 的同義字。 |
Network |
有效值為 dbnmpntw (命名管道)和 dbmssocn (TCP/IP)。 在 關鍵詞上 Network 同時指定 關鍵詞的值和通訊協定前置 Server 詞是錯誤的。 |
PWD |
UID 參數中指定的 SQL Server 登入賬戶密碼。 PWD 如果登入具有 NULL 密碼,或使用 Windows 驗證時Trusted_Connection = yes ,則不需要指定 。 |
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 覆寫 關鍵詞。您可以指定下列其中一項,以連線到本地伺服器上的預設實例: - Server=; - Server=.; - Server=(local); - Server=(localhost); - Server=(localdb)\ instancename ; 如需 LocalDB 支援的詳細資訊,請參閱 SQL Server Native Client Support for LocalDB。 若要指定 SQL Server 的具名執行個體,請附加 \InstanceName。 如果未指定伺服器,就會連接到本機電腦上的預設執行個體。 若您指定 IP 位址,請確定在 SQL Server 組態管理員中已啟用 TCP/IP 或具名管道通訊協定。 關鍵詞的完整語法 Server 如下所示:Server= [protocol: ]Server[, port]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 會Data Source
設定為屬性,但Server
會進入提供者字串。
如果您指定相同提供者特有之屬性的多個執行個體,將會使用第一個屬性的值。
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” 的同義字。 |
Address |
SSPROP_INIT_NETWORKADDRESS | 組織中 SQL Server 執行個體的網路位址。 如需有效位址語法的詳細資訊,請參閱本主題稍後的 Address ODBC 關鍵詞描述。 |
APP |
SSPROP_INIT_APPNAME | 識別應用程式的字串。 |
ApplicationIntent |
SSPROP_INIT_APPLICATIONINTENT | 宣告連接到伺服器時的應用程式工作負載類型。 可能的值是 ReadOnly 和 ReadWrite 。預設值為 ReadWrite 。 如需 SQL Server Native Client 對 AlwaysOn 可用性群組支援的詳細資訊,請參閱 SQL Server Native Client 支援高可用性、災害復原。 |
AttachDBFileName |
SSPROP_INIT_FILENAME | 可附加資料庫的主要檔案名稱,包括完整路徑名稱。 若要使用 AttachDBFileName ,您也必須使用提供者字串 Database 關鍵詞來指定資料庫名稱。 如果資料庫先前已附加,SQL Server 不會重新附加它(它會使用附加的資料庫做為連接的預設)。 |
Auto Translate |
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。 |
Language |
SSPROPT_INIT_CURRENTLANGUAGE | SQL Server 語言。 |
MarsConn |
SSPROP_INIT_MARSCONNECTION | 如果伺服器是 SQL Server 2005 或更新版本,則啟用或停用連線上的多個作用中結果集 (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 執行個體的名稱。 如果沒有指定,就會連接至本機電腦上的預設執行個體。 如需有效位址語法的詳細資訊,請參閱本主題中的 ODBC 關鍵詞描述 Server 。 |
ServerSPN |
SSPROP_INIT_SERVERSPN | 伺服器的 SPN。 預設值為空字串。 空字串會導致 SQL Server Native Client 使用預設的提供者產生的 SPN。 |
Timeout |
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 使用的關鍵字:
關鍵字 | 初始化屬性 | 描述 |
---|---|---|
Application Name |
SSPROP_INIT_APPNAME | 識別應用程式的字串。 |
Application Intent |
SSPROP_INIT_APPLICATIONINTENT | 宣告連接到伺服器時的應用程式工作負載類型。 可能的值是 ReadOnly 和 ReadWrite 。預設值為 ReadWrite 。 如需 SQL Server Native Client 對 AlwaysOn 可用性群組支援的詳細資訊,請參閱 SQL Server Native Client 支援高可用性、災害復原。 |
Auto Translate |
SSPROP_INIT_AUTOTRANSLATE | “AutoTranslate” 的同義字。 |
AutoTranslate |
SSPROP_INIT_AUTOTRANSLATE | 設定 OEM/ANSI 字元轉譯。 辨識的值是 「true」 和 「false」。 |
Connect Timeout |
DBPROP_INIT_TIMEOUT | 等候資料來源初始化完成的時間量 (以秒為單位)。 |
Current Language |
SSPROPT_INIT_CURRENTLANGUAGE | SQL Server 語言名稱。 |
Data Source |
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。 |
Initial Catalog |
DBPROP_INIT_CATALOG | 資料庫名稱。 |
Initial File Name |
SSPROP_INIT_FILENAME | 可附加資料庫的主要檔案名稱,包括完整路徑名稱。 若要使用 AttachDBFileName ,您也必須使用提供者字串 DATABASE 關鍵詞來指定資料庫名稱。 如果資料庫先前已附加,SQL Server 不會重新附加它(它會使用附加的資料庫做為連接的預設)。 |
Integrated Security |
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 執行個體連線的網路程式庫。 |
Packet Size |
SSPROP_INIT_PACKETSIZE | 網路封包大小。 預設值為 4096。 |
Password |
DBPROP_AUTH_PASSWORD | SQL Server 登入密碼。 |
Persist Security Info |
DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO | 接受字串 「true」 和 「false」 作為值。 當 「false」 時,不允許數據源物件保存敏感性驗證資訊 |
Provider |
針對 SQL Server Native Client,這應該是「SQLNCLI11」。 | |
Server SPN |
SSPROP_INIT_SERVERSPN | 伺服器的 SPN。 預設值為空字串。 空字串會導致 SQL Server Native Client 使用預設的提供者產生的 SPN。 |
Trust Server Certificate |
SSPROP_INIT_TRUST_SERVER_CERTIFICATE | 接受字串 「true」 和 「false」 作為值。 默認值為 「false」,這表示會驗證伺服器證書。 |
Use Encryption for Data |
SSPROP_INIT_ENCRYPT | 指定當透過網路傳送資料以前,是否應該先加密資料。 可能的值為 「true」 和 「false」。 預設值為 "false"。 |
User ID |
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 | 宣告連接到伺服器時的應用程式工作負載類型。 可能的值是 ReadOnly 和 ReadWrite 。預設值為 ReadWrite 。 如需 SQL Server Native Client 對 AlwaysOn 可用性群組支援的詳細資訊,請參閱 SQL Server Native Client 支援高可用性、災害復原。 |
Application Name |
SSPROP_INIT_APPNAME | 識別應用程式的字串。 |
Auto Translate |
SSPROP_INIT_AUTOTRANSLATE | “AutoTranslate” 的同義字。 |
AutoTranslate |
SSPROP_INIT_AUTOTRANSLATE | 設定 OEM/ANSI 字元轉譯。 辨識的值是 「true」 和 「false」。 |
Connect Timeout |
DBPROP_INIT_TIMEOUT | 等候資料來源初始化完成的時間量 (以秒為單位)。 |
Current Language |
SSPROPT_INIT_CURRENTLANGUAGE | SQL Server 語言名稱。 |
Data Source |
DBPROP_INIT_DATASOURCE | 組織中 SQL Server 執行個體的名稱。 如果沒有指定,就會連接至本機電腦上的預設執行個體。 如需有效位址語法的詳細資訊,請參閱本主題中的 ODBC 關鍵詞描述 Server 。 |
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。 |
Initial Catalog |
DBPROP_INIT_CATALOG | 資料庫名稱。 |
Initial File Name |
SSPROP_INIT_FILENAME | 可附加資料庫的主要檔案名稱,包括完整路徑名稱。 若要使用 AttachDBFileName ,您也必須使用提供者字串 DATABASE 關鍵詞來指定資料庫名稱。 如果資料庫先前已附加,SQL Server 不會重新附加它(它會使用附加的資料庫做為連接的預設)。 |
Integrated Security |
DBPROP_AUTH_INTEGRATED | 接受 Windows 驗證的 「SSPI」 值。 |
MARS Connection |
SSPROP_INIT_MARSCONNECTION | 如果伺服器是 SQL Server 2005 或更新版本,則啟用或停用連線上的多個作用中結果集 (MARS)。 辨識的值是 「true」 和 「false」。預設值為 「false」。。 |
Network Address |
SSPROP_INIT_NETWORKADDRESS | 組織中 SQL Server 執行個體的網路位址。 如需有效位址語法的詳細資訊,請參閱本主題中的 ODBC 關鍵詞描述 Address 。 |
Network Library |
SSPROP_INIT_NETWORKLIBRARY | 用來建立組織中 SQL Server 執行個體連線的網路程式庫。 |
Packet Size |
SSPROP_INIT_PACKETSIZE | 網路封包大小。 預設值為 4096。 |
Password |
DBPROP_AUTH_PASSWORD | SQL Server 登入密碼。 |
Persist Security Info |
DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO | 接受字串 「true」 和 「false」 作為值。 當 「false」 時,不允許數據源物件保存敏感性驗證資訊。 |
Provider |
針對 SQL Server Native Client,這應該是「SQLNCLI11」。 | |
Server SPN |
SSPROP_INIT_SERVERSPN | 伺服器的 SPN。 預設值為空字串。 空字串會導致 SQL Server Native Client 使用預設的提供者產生的 SPN。 |
Trust Server Certificate |
SSPROP_INIT_TRUST_SERVER_CERTIFICATE | 接受字串 「true」 和 「false」 作為值。 默認值為 「false」,這表示會驗證伺服器證書。 |
Use Encryption for Data |
SSPROP_INIT_ENCRYPT | 指定當透過網路傳送資料以前,是否應該先加密資料。 可能的值為 「true」 和 「false」。 預設值為 "false"。 |
User ID |
DBPROP_AUTH_USERID | SQL Server 登入名稱。 |
Workstation ID |
SSPROP_INIT_WSID | 工作站識別碼。 |
注意 在 連接字串 中,「舊密碼」屬性會設定SSPROP_AUTH_OLD_PASSWORD,這是目前無法透過提供者字串屬性使用的密碼。