在 連接字串 中使用伺服器名稱參數來指定用戶端網路連結庫
摘要
本文說明當您連線到 SQL Server 資料庫時,如何在 連接字串 中以程序設計方式指定用戶端網路連結庫。
在 Microsoft Data Access Components (MDAC) 2.6 和更新版本中,您可以在 連接字串 中使用伺服器名稱參數來指定用戶端存取連結庫。 因此,當應用程式提示您要連線的伺服器名稱時,您可以指定特定的用戶端存取連結庫。 當您測試和疑難解答 SQL Server 的連線問題時,此行為會很有用。
例如,您可以使用 Osql 命令行公用程式連線到 SQL Server,並強制它使用 TCP/IP 網路連結庫:
osql -Stcp:myServer,portNumber -E
原始產品版本: SQL S
原始 KB 編號: 313295
程式代碼範例
下列 Microsoft Visual C# .NET 程式代碼範例示範如何設定 連接字串。 不論您使用的語言如何,連接字串 都有相同的格式:
using System;
using System.Data;
using System.Data.SqlClient;
namespace getCurrentProtocol
{
/// <summary>
/// Main Application Driver Class
/// </summary>
class Driver
{
static void Main(string[] args)
{
string sCxn = "server=myServer;Integrated Security=SSPI; database=master";
//string sCxn = "server=np:myServer;Integrated Security=SSPI; database=master";
//string sCxn = "server=tcp:myServer;Integrated Security=SSPI; database=master";
//string sCxn = "server=rpc:myServer;Integrated Security=SSPI; database=master";
//string sCxn = "server=lpc:myServer;Integrated Security=SSPI; database=master";
string sCmd = "SELECT net_library from sysprocesses where spid=@@spid";
SqlConnection cxn = new SqlConnection(sCxn);
SqlCommand sqlCmd = new SqlCommand(sCmd, cxn);
SqlDataAdapter sqlDa = new SqlDataAdapter(sCmd, cxn);
DataTable dt = new DataTable();
try
{
sqlDa.Fill(dt);
Console.WriteLine("Hit ENTER to continue ...");
Console.ReadLine();
foreach (DataRow dr in dt.Rows)
Console.WriteLine(dr["net_library"]);
}
catch (SqlException e)
{
Console.WriteLine(e.StackTrace);
Console.WriteLine("SQL Error Number: " + e.Number);
Console.WriteLine("SQL Error Message: " + e.Message);
}
}
}
}
注意事項
連接字串,特別是伺服器參數的值:
string sCxn = "server=myServer;Integrated Security=SSPI; database=northwind"
搭配各種網路連結庫使用程式碼範例
下列程式代碼範例示範如何使用伺服器參數的值來指定各種網路連結庫:
TCP/IP:
server=tcp:hostname
您可以選擇性地指定特定的埠號碼。 根據預設,埠為1433。
server=tcp:hostname, portNumber
命名管道:
server=np:hostname
您可以選擇性地指定特定的命名管道。
server=np:\\hostname\pipe\pipeName
根據預設,管道名稱是 sql\query。 如果您連接到具名實體,管道名稱通常是下列格式:
MSSQL$instnaceName\sql\query
基礎通訊協定的預設值取決於操作系統設定,其中通訊協定可以有下列任一值:
值 基礎通訊協定 ncacn_np 命名管道 ncacn_ip_tcp 傳輸控制通訊協定/因特網通訊協定 (TCP/IP) ncalrpc 本機過程調用 共用記憶體:
server=lpc:hostname
參考資料
如需詳細資訊,請參閱 附錄 A:登錄專案。
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應