你目前正处于脱机状态,正在等待 Internet 重新连接

如何使用连接字符串中的服务器名称参数来指定客户端网络库

注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。

点击这里察看该文章的英文版: 313295
概要
本文介绍如何以编程方式指定连接字符串中的客户端网络库,当您连接到 SQL Server 数据库时。

在 Microsoft 数据访问组件 (MDAC) 2.6 及更高版本,您可以通过在连接字符串中使用 server name 参数指定客户端访问库。 因此,您可以指定一个特定的客户端访问库,当系统提示您要连接到应用程序的服务器名称。测试并为 SQL Server 连接问题进行故障排除时,此行为可能非常有用。

例如对于您可以使用 Osql 命令行实用程序,以便连接到 SQL Server 并强制它以使用 TCP/IP 网络库:
osql -Stcp:myServer,portNumber -E				
back to the top

代码示例

下面的 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"				
back to the top

使用各种网络库的代码示例

下面的代码示例演示了如何使用 服务器 参数的值指定各种网络库:
  • TCP/IP
    server=tcp:hostname
    您可以选择指定一个特定的端口号。默认状态下,该端口是 1433年
    server=tcp:hostname, portNumber
  • 命名管道
    server=np:hostname
    您可以选择指定特定的已命名管道。
    server=np:\\hostname\pipe\pipeName
    默认状态下,管道名称是 sql\query。如果连接命名实例管道名称通常是以下列格式:
    MSSQL $ instnaceName\sql\query
  • 多协议
    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
  • Apple 谈话
    server=adsp:hostname
back to the top
参考
有关详细的信息,请访问下面的 Microsoft 网站:

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

警告:本文已自动翻译

属性

文章 ID:313295 - 上次审阅时间:11/30/2005 00:58:49 - 修订版本: 6.5

Microsoft SQL Server 2000 标准版, 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 2005 Server Enterprise, Microsoft SQL 2005 Server Workgroup

  • kbmt kbhowtomaster KB313295 KbMtzh
反馈