如何使用連接字串中的伺服器名稱參數來指定用戶端網路程式庫

文章翻譯 文章翻譯
文章編號: 313295 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

在此頁中

結論

本文說明如何以程式設計方式指定用戶端網路程式庫在連接字串中,當您連線到 SQL Server 資料庫。

在 Microsoft 資料存取元件 (MDAC) 2.6 和更新版本,您可以使用連接字串中的 server name 參數指定用戶端存取程式庫。 因此,您可以指定特定的用戶端存取程式庫,當伺服器名稱的應用程式要連線至系統提示您。當您測試並疑難排解連線問題的 SQL Server 時,這種行為可以會很有幫助。

連線到 SQL Server,而且強制使用 TCP/IP 網路程式庫您可以,例如使用 Osql 命令列公用程式:
osql -Stcp:myServer,portNumber -E
				

程式碼範例

下列的 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
  • multiprotocol
    server=rpc:hostname
    您可以選擇性地指定基礎的通訊協定。
    server=rpc:hostname, protocol
    基礎通訊協定的預設值是由作業系統設定一種通訊協定,可以有任何一種下列值所決定:
    摺疊此表格展開此表格
    基礎通訊協定
    ncacn_np具名的管道
    ncacn_ip_tcp傳輸控制通訊協定/網際網路通訊協定 (TCP/IP)
    ncacn_nb_nb網路基本輸入/輸出系統 (NetBIOS) 透過 NetBIOS 增強使用者介面 (NetBEUI)
    ncacn_spx循序封包交換 (SPX)
    ncacn_vns_sppbanyan VINES
    ncadg_ip_udp使用者資料包通訊協定 (UDP) 資料包 TCP/IP
    ncadg_ipx網路封包交換 (IPX) 資料包 IPX
    ncalrpc本機程序呼叫

  • 共用記憶體
    server=lpc:hostname
  • NWlink IPX/SPX
    server=spx:hostname
  • banyan VINES
    server=vines:hostname
  • 蘋果交談:
    server=adsp:hostname

?考

如需詳細資訊請造訪下列 Microsoft 網站]:

http://msdn.microsoft.com/en-us/library/aa470051.aspx

屬性

文章編號: 313295 - 上次校閱: 2005年11月30日 - 版次: 6.5
這篇文章中的資訊適用於:
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2000 64-bit Edition
  • Microsoft Data Access Components 2.6
  • Microsoft Data Access Components 2.6 Service Pack 1
  • Microsoft Data Access Components 2.6 Service Pack 2
  • Microsoft Data Access Components 2.7
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Workgroup Edition
關鍵字:?
kbmt kbhowtomaster KB313295 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:313295
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com