Como utilizar o parâmetro de nome de servidor numa cadeia de ligação para especificar a biblioteca de rede cliente

Traduções de Artigos Traduções de Artigos
Artigo: 313295 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

Sumário

Este artigo descreve como especificar programaticamente a biblioteca de rede do cliente na cadeia de ligação quando liga a uma base de dados do SQL Server.

No Microsoft Data Access Components (MDAC) 2.6 e versões posteriores, pode especificar a biblioteca de acesso de cliente utilizando o parâmetro de server name na cadeia de ligação. Por conseguinte, pode especificar uma biblioteca de acesso de cliente específico, quando lhe for indicado por uma aplicação para um nome de servidor ao qual ligar. Este comportamento pode ser muito útil quando estiver a testar e resolver problemas de conectividade para o SQL Server.

Por exemplo, pode utilizar o utilitário da linha de comandos OSQL para estabelecer ligação com o SQL Server e forçar para utilizar a biblioteca de rede TCP/IP:
osql -Stcp:myServer,portNumber -E
				

Exemplo de código

O exemplo de código Microsoft Visual C# .NET que se segue demonstra como definir a cadeia de ligação. A cadeia de ligação tem o mesmo formato independentemente do idioma que utiliza:
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);
				
			}
		}
	}
} 
				
nota a cadeia de ligação e particularmente o valor do parâmetro do servidor :
string sCxn = "server=myServer;Integrated Security=SSPI; database=northwind"
				

Utilizar o exemplo de código com vários bibliotecas de rede

Os seguintes exemplos de código demonstram como utilizar o valor do parâmetro do servidor para especificar várias bibliotecas de rede:
  • TCP/IP :
    server=tcp:hostname
    Opcionalmente, pode especificar um número de porta específica. Por predefinição, a porta é 1433.
    server=tcp:hostname, portNumber
  • pipes nomeados :
    server=np:hostname
    Opcionalmente, pode especificar um pipe nomeado específico.
    server=np:\\hostname\pipe\pipeName
    Por predefinição, o nome de pipe é sql\query. Se ligar a uma instância nomeada, o nome do encaminhamento (pipe) é normalmente no seguinte formato:
    MSSQL $ instnaceName\sql\query
  • multiprotocolo :
    server=rpc:hostname
    Opcionalmente, pode especificar o protocolo subjacente.
    server=rpc:hostname, protocol
    O valor predefinido do protocolo subjacente é determinado pelas definições do sistema operativo em que um protocolo pode ter qualquer um dos seguintes valores:
    Reduzir esta tabelaExpandir esta tabela
    ValorProtocolo subjacente
    ncacn_npPipes nomeados
    ncacn_ip_tcpControlo de transmissão protocolo de Protocol/Internet (TCP/IP)
    ncacn_nb_nbSistema básico de entrada/saída de rede (NetBIOS) através de interface do utilizador avançado de NetBIOS (NetBEUI)
    ncacn_spxTroca de pacotes sequenciada (SPX)
    ncacn_vns_sppBanyan VINES
    ncadg_ip_udpUDP (protocolo de datagrama de utilizador), TCP/IP
    ncadg_ipxIPX de datagrama de IPX (Internetwork Packet Exchange)
    ncalrpcChamada de procedimento local

  • memória partilhada :
    server=lpc:hostname
  • NWlink IPX/SPX :
    server=spx:hostname
  • Banyan VINES :
    server=vines:hostname
  • Apple Talk :
    server=adsp:hostname

Referências

Para mais informações, visite o seguinte Web site da Microsoft:

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

Propriedades

Artigo: 313295 - Última revisão: 30 de novembro de 2005 - Revisão: 6.5
A informação contida neste artigo aplica-se a:
  • 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 2005 Server Enterprise
  • Microsoft SQL 2005 Server Workgroup
Palavras-chave: 
kbmt kbhowtomaster KB313295 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 313295

Submeter comentários

 

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