Cómo utilizar el parámetro de nombre de servidor en una cadena de conexión para especificar la biblioteca de red de cliente

Seleccione idioma Seleccione idioma
Id. de artículo: 313295 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Resumen

En este artículo se describe cómo especificar mediante programación la biblioteca de red de cliente de la cadena de conexión cuando se conecta a una base de datos de SQL Server.

En Microsoft Data Access Components (MDAC) 2.6 y posteriores, puede especificar la biblioteca de acceso de cliente mediante el parámetro de server name en la cadena de conexión. Por lo tanto, puede especificar una biblioteca de acceso de cliente específico cuando se le pida una aplicación para un nombre de servidor al que se va a conectar. Este comportamiento puede ser muy útil cuando las pruebas y solucionar problemas de conectividad para SQL Server.

Por ejemplo, puede utilizar la utilidad de línea de comandos Osql para conectarse a SQL Server y para forzarlo a utilizar la biblioteca de red TCP/IP:
osql -Stcp:myServer,portNumber -E
				

Ejemplo de código

El siguiente ejemplo de Microsoft Visual C# .NET de código muestra cómo establecer la cadena de conexión. La cadena de conexión tiene el mismo formato con independencia del 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 la cadena de conexión y especialmente el valor del parámetro de servidor :
string sCxn = "server=myServer;Integrated Security=SSPI; database=northwind"
				

Utilice el ejemplo de código con varias bibliotecas de red

Los ejemplos de código siguientes muestran cómo utilizar el valor del parámetro de servidor para especificar varias bibliotecas de red:
  • TCP/IP :
    server=tcp:hostname
    Puede especificar un número de puerto específico. De forma predeterminada, el puerto es 1433.
    server=tcp:hostname, portNumber
  • canalizaciones con nombre :
    server=np:hostname
    Puede especificar opcionalmente un específico de canalización con nombre.
    server=np:\\hostname\pipe\pipeName
    De forma predeterminada, el nombre de la canalización es sql\query. Si se conecta a una instancia con nombre, el nombre de canalización es normalmente en el siguiente formato:
    MSSQL $ instnaceName\sql\query
  • multiprotocolo :
    server=rpc:hostname
    Puede especificar el protocolo subyacente.
    server=rpc:hostname, protocol
    El valor predeterminado del protocolo subyacente está determinado por la configuración del sistema operativo donde un protocolo puede tener uno de los siguientes valores:
    Contraer esta tablaAmpliar esta tabla
    ValorProtocolo subyacente
    ncacn_npCanalizaciones con nombre
    ncacn_ip_tcpControl de transmisión Protocolo de Internet/Protocolo (TCP/IP)
    ncacn_nb_nbSistema básico de entrada y salida de red (NetBIOS) a través de la interfaz de usuario mejorada de NetBIOS (NetBEUI)
    ncacn_spxIntercambio de paquetes secuenciados (SPX)
    ncacn_vns_sppVINES Banyan
    ncadg_ip_udpDatagrama del protocolo de datagramas de usuario (UDP) TCP/IP
    ncadg_ipxDatagrama IPX de Exchange de paquetes entre redes (IPX)
    NcalrpcLlamada a procedimiento local

  • comparte memoria :
    server=lpc:hostname
  • NWlink IPX/SPX :
    server=spx:hostname
  • Banyan VINES :
    server=vines:hostname
  • AppleTalk :
    server=adsp:hostname

Referencias

Para obtener más información al respecto, visite el siguiente sitio Web de Microsoft:

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

Propiedades

Id. de artículo: 313295 - Última revisión: miércoles, 30 de noviembre de 2005 - Versión: 6.5
La información de este artículo se refiere 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 Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Workgroup Edition
Palabras clave: 
kbmt kbhowtomaster KB313295 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 313295

Enviar comentarios

 

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