SqlConnection.ConnectionString 屬性
命名空間:System.Data.SqlClient
基本語法:
Integrated Security=SSPI;Initial Catalog=Northwind;Data Source=(local)
下列表格列出ConnectionString關鍵字的有效名稱
關鍵字 | 預設 | 描述 |
---|---|---|
Addr | N/A | 資料來源的同義字。 |
Address | N/A | 資料來源的同義字。 |
App | N/A | 應用程式名稱的同義字。 |
Application Name | N/A | 應用程式的名稱,如果沒有提供應用程式名稱,則為 '.NET SQLClient Data Provider'。 應用程式名稱可以有 128 個 (含) 以下的字元。 |
Asynchronous Processing -或- Async | 'false' | 如果為 true,啟用非同步作業支援。可辨認的值為 true、false、yes 和 no。 |
AttachDBFilename -或- Extended Properties -或- Initial File Name | N/A | 主要資料庫檔案的名稱,包括可附加資料庫的完整路徑名稱。只有具有 .mdf 副檔名的主要資料檔案才能支援 AttachDBFilename。 如果在連接字串中指定了 AttachDBFileName 索引鍵的值,則會附加資料庫,而且資料庫會變成連線的預設資料庫。 如果不指定此索引鍵,且若先前已附加資料庫,該不會重新附加此資料庫。先前附加的資料庫會做為連接的預設資料庫。 如果和 AttachDBFileName 索引鍵一同指定此索引鍵,會以此索引鍵的值為別名。但是,如果另一個附加的資料庫已使用該名稱,則連線會失敗。 藉由使用 DataDirectory 替換字串,路徑可以是絕對或相對路徑。如果使用 DataDirectory,則資料庫檔案必須存在於替換字串指向之目錄的子目錄。 注意事項 不支援遠端伺服器、HTTP 和 UNC 路徑名稱。 必須使用關鍵字 'database' (或其中一個別名 (Alias)) 指定資料庫名稱,如下所示: "AttachDbFileName=|DataDirectory|\data\YourDB.mdf;integrated security=true;database=YourDatabase" 如果記錄檔出現在與資料檔案相同的目錄中,而且在嘗試附加主要資料檔案時使用了 'database' 關鍵字,便會產生錯誤。在這種情況下,請移除該記錄檔。附加資料庫之後,便會自動依據實體路徑來產生新的記錄檔。 |
Connection Lifetime -或- Load Balance Timeout | 0 | 當連接傳回集區時,其建立時間會與目前時間相比較,如果該時間 (以秒為單位) 超過 Connection Lifetime 指定的值,則會終結連接。這有助於在叢集組態中強制進行執行中伺服器和剛上線伺服器之間的負載平衡 (Load Balancing)。 零 (0) 的值會導致共用連接產生連接上限逾時的狀況。 |
Connect Timeout -或- Connection Timeout -或- Timeout | 15 | 在終止嘗試並產生錯誤之前,要等待伺服器連接的時間長度 (以秒為單位)。 有效的值會大於或等於 0,而且小於或等於 2147483647。 |
Context Connection | 'false' | 如果應該建立與 SQL Server 的同處理序連接,則為 true。 |
Current Language -或- Language | N/A | >設定用於資料庫伺服器警告或錯誤訊息的語言。 語言名稱可以有 128 個 (含) 以下的字元。 |
Data Source -或- Server -或- Address -或- Addr -或- Network Address | N/A | 要連接 SQL Server 的執行個體之名稱或網路位址。可在伺服器名稱後指定通訊埠編號: server=tcp:servername, portnumber 指定本機執行個體時,永遠使用 (local)。若要強制通訊協定,請加入下列其中一個前置詞: np:(local), tcp:(local), lpc:(local) 資料來源必須使用 TCP 格式或具名管道格式。 TCP 格式如下:
主機名稱必須以下列其中一種方式指定:
具名管道的格式如下:
主機名稱必須以下列其中一種方式指定:
如果指定了 Network 索引鍵的值,不應指定前置詞 "tcp:" 與 "np:"。 注意事項 ADO.NET 2.0 不支援 SQL Server 2000 (含) 以下版本在共用記憶體上使用非同步的命令。不過,您可以強制使用 TCP 來取代共用記憶體,方法是在連接字串的伺服器名稱前面加上 tcp: 前置字元,或是使用 localhost。 |
Encrypt | 'false' | 當為true時,如果伺服器已安裝憑證,則 SQL Server 會在用戶端與伺服器之間的所有資料上使用 SSL 加密 (Encryption)。可辨認的值為true、false、yes和no。 |
Enlist | 'true' | true表示,SQL Server 連接集區工具會在建立執行緒的目前交易內容中自動登記連接。 |
Failover Partner | N/A | 容錯移轉合作夥伴的名稱,其中設定資料庫鏡像。如果此索引鍵的值是 "",則初始目錄必須存在,並且它的值不能為 ""。 伺服器名稱可以有 128 個 (含) 以下的字元。 如果您指定容錯移轉合作夥伴,但未對合作夥伴伺服器進行資料庫鏡射設定,且主要伺服器不可用,則會連線失敗。 如果您指定容錯移轉合作夥伴,且未對主要伺服器進行資料庫鏡射設定,若主要伺服器可用,則可成功連接主要伺服器 (以 Server 關鍵字指定)。 .NET Framework 1.0 或 1.1 版不支援 Failover Partner 關鍵字。 |
Initial Catalog -或- Database | N/A | 資料庫的名稱。 資料庫名稱可以有 128 個 (含) 以下的字元。 |
Integrated Security -或- Trusted_Connection | 'false' | 如果為false,則會在連接中指定使用者 ID 和密碼。如果為true,則會使用目前的 Windows 帳戶認證進行驗證。 可辨認的值為 true、false、yes、no 和 sspi (建議使用),其相當於 true。如果使用者識別碼和密碼已指定,且整合安全性設定設為 true,則會略過使用者識別碼和密碼,並使用整合式安全性。 |
Min Pool Size | 0 | 集區中允許連接的最小數目。 有效值大於或等於 0。在這個欄位中的零 (0) 表示最初未開啟最小連接數目。 大於 Max Pool Size 的值會產生錯誤。 |
Max Pool Size | 100 | 集區中允許的最大連接數目。 有效值大於或等於 1。小於 Min Pool Size 的值會產生錯誤。 |
MultipleActiveResultSets | 'false' | 如果為true,則應用程式可維護 Multiple Active Result Set (MARS)。如果為 false,則應用程式必須處理或取消一個批次的所有結果集,才能夠執行該連接的其他批次。 辨認的值為true 和 false。 .NET Framework 1.0 或 1.1 版不支援該關鍵字。 |
Network Library -或- Network -或- Net | N/A | 網路程式庫用來建立 SQL Server 的執行個體的連接。支援的值包含: dbnmpntw (具名管道) dbmsrpcn (多重通訊協定、Windows RPC) dbmsadsn (Apple Talk) dbmsgnet (VIA) dbmslpcn (共用記憶體) dbmsspxn (IPX/SPX) dbmssocn (TCP/IP) dbmsvinn (Banyan Vines) 對應的網路 DLL 必須安裝在您連接的系統上。如果您沒有指定網路而且使用本機伺服器 (例如 "." 或 "(local)"),則會使用共用記憶體。在這個範例中,網路程式庫是 Win32 Winsock TCP/IP (dbmssocn),1433 則是使用的通訊埠。 Network Library=dbmssocn;Data Source=000.000.000.000,1433; |
Packet Size | 8192 | 用來與 SQL Server 的執行個體通訊的網路封包之大小 (以位元組為單位)。 封包大小可以大於或等於 512,並且小於或等於 32767。 |
Password -或- PWD | N/A | 正在登入之 SQL Server 帳戶的密碼。不建議使用。為了維持高安全性等級,強烈建議您改為使用Integrated Security或Trusted_Connection 關鍵字。 密碼必須在 128 個字元 (含) 以下。 |
Persist Security Info -或- PersistSecurityInfo | 'false' | 當設定為false或no(建議使用) 時,如果連接開啟或曾經處於開啟狀態,則不會將安全性相關資訊 (如密碼) 當做連接的一部分傳回。重設連接字串會將所有包含密碼的連接字串值重設。可辨認的值為 true、false、 和 no。 |
Pooling | 'true' | 當此索引鍵的值設定為 true 時,任何新建立的連接會在由應用程式關閉時加入至集區。下次嘗試開啟同一個連線時,會從集區擷取該連線。 如果這些連線具有相同的連接字串,則視為相同。不同的連線會有不同的連接字串。 此索引鍵的值可以是 "true"、"false"、"yes" 或 "no"。 |
Replication | 'false' | 如果使用連接時支援複寫,則為true。 |
Transaction Binding | Implicit Unbind | 控制與已登記之System.Transactions交易的連接關聯。 可能值為: Transaction Binding=Implicit Unbind; Transaction Binding=Explicit Unbind; 隱含解除繫結會造成連接在結束時與交易中斷。在中斷連結之後,會在自動認可模式中執行其他的連接要求。如果在交易為作用中時執行要求,便不會檢查System.Transactions.Transaction.Current屬性。在交易結束之後,會在自動認可模式中執行其他要求。 如果系統在完成最後一個指令之前結束交易 (在使用區塊的範圍中),會擲回InvalidOperationException。明確解除繫結會造成連接與交易保持在附加狀態,除非連接關閉或呼叫明確的SqlConnection.TransactionEnlist(null)。從 .NET Framework 4 版 開始,對 Implicit Unbind (隱含解除繫結) 有所變更,造成 Explicit Unbind (明確解除繫結) 已經過時。如果Transaction.Current不是已登記的交易或如果已登記的交易不是作用中時,便會擲回 InvalidOperationException。 |
TrustServerCertificate | 'false' | 設為 true時,SSL 會用來加密通道,但略過驗證信任的憑證鏈結查核。如果 TrustServerCertificate 設定為 true且 Encrypt 設定為false,則不會加密通道。可辨認的值為true、false、yes和 no。如需詳細資訊,請參閱連接字串語法 (ADO.NET)。 |
Type System Version | N/A | 字串值,表示應用程式預期的型別系統。可能值為: Type System Version=SQL Server 2000; Type System Version=SQL Server 2005; Type System Version=SQL Server 2008; Type System Version=Latest; 設為>SQL Server 2000時,會使用 SQL Server 2000 型別系統。連接到 SQL Server 2005 執行個體時,會執行下列轉換: XML 轉換成 NTEXT UDT 轉換成 VARBINARY VARCHAR(MAX)、NVARCHAR(MAX) 和 VARBINARY(MAX) 分別轉換成 TEXT、NEXT 和 IMAGE。 設為SQL Server 2005時,會使用 SQL Server 2005 型別系統。對於目前版本的 ADO.NET,不執行任何轉換。 設為Latest時,使用這個主從組能處理的最新版本。當用戶端和伺服器元件更新時,這也會自動更新。 |
User ID -或- UID -或- | N/A | SQL Server 登入帳戶。不建議使用。為了維持高安全性等級,強烈建議您改為使用 Integrated Security 或Trusted_Connection關鍵字。 使用者 ID 必須在 128 個字元 (含) 以下。 |
User Instance | 'false' | 值,指出是否將連接從預設 SQL Server Express 執行個體,重新導向至在呼叫端帳戶下執行之執行階段啟始的執行個體。 |
Workstation ID -或- WSID | 本機電腦名稱 | 連接至 SQL Server 的工作站名稱。 ID 必須在 128 個字元 (含) 以下。 |
回目錄
回首頁
沒有留言 :
張貼留言