DetailPage-MSS-KB

Base de connaissances

Numéro d'article: 313295 - Dernière mise à jour: mercredi 30 novembre 2005 - Version: 6.5

 

Sommaire

Résumé

Cet article explique comment spécifier par programmation la bibliothèque réseau de client dans la chaîne de connexion lorsque vous vous connectez à une base de données SQL Server.

Dans Microsoft Data Access Components (MDAC) 2.6 et ultérieures, vous pouvez spécifier la bibliothèque d'accès client en utilisant le paramètre server name dans chaîne de connexion. Par conséquent, vous pouvez spécifier une bibliothèque d'accès client spécifique lorsque vous êtes invité par une application d'un nom de serveur sur lequel se connecter. Ce problème peut être très utile lorsque vous test et résolution des problèmes de connectivité pour SQL Server.

Par exemple, vous pouvez utiliser l'utilitaire de ligne de commande osql pour se connecter à SQL Server et forcer à utiliser la bibliothèque réseau TCP/IP:
osql -Stcp:myServer,portNumber -E
				

Exemple de code

L'exemple de code Visual C# .NET suivant montre comment définir la chaîne de connexion. La chaîne de connexion a le même format indépendamment de la langue que vous utilisez :
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);
				
			}
		}
	}
} 
				
Remarque la chaîne de connexion et en particulier la valeur du paramètre serveur :
string sCxn = "server=myServer;Integrated Security=SSPI; database=northwind"
				

Utiliser l'exemple de code avec des différentes bibliothèques réseau

Les exemples de code suivants montrent comment utiliser la valeur du paramètre serveur pour spécifier différentes bibliothèques réseau :
  • TCP/IP :
    server=tcp:hostname
    Vous pouvez éventuellement spécifier un numéro de port spécifique. Par défaut, le port est 1433.
    server=tcp:hostname, portNumber
  • nommé canaux :
    server=np:hostname
    Vous pouvez éventuellement spécifier un canal nommé spécifique.
    server=np:\\hostname\pipe\pipeName
    Par défaut, le nom de canal est sql\query. Si vous vous connectez à une instance nommée, le nom de canal est généralement le format suivant :
    MSSQL $ instnaceName\sql\query
  • multiprotocol :
    server=rpc:hostname
    Vous pouvez éventuellement spécifier le protocole sous-jacent.
    server=rpc:hostname, protocol
    La valeur par défaut du protocole sous-jacent est déterminée par les paramètres de système d'exploitation où un protocole peut avoir l'une des valeurs suivantes :
    Réduire ce tableauAgrandir ce tableau
    ValeurSous-jacente Protocol
    ncacn_npCanaux nommés
    ncacn_ip_tcpTransmission Control Protocol/Internet Protocol (TCP/IP)
    ncacn_nb_nbRéseau basic input/output system (NetBIOS) sur NetBIOS Enhanced User Interface (NetBEUI)
    ncacn_spxSéquence Packet Exchange (SPX)
    ncacn_vns_sppBanyan VINES
    ncadg_ip_udpDatagramme UDP (utilisateur Datagram Protocol) TCP/IP
    ncadg_ipxDatagramme IPX (Internetwork Packet Exchange) IPX
    ncalrpcAppel de procédure locale

  • partager la mémoire :
    server=lpc:hostname
  • NWlink IPX/SPX :
    server=spx:hostname
  • Banyan VINES :
    server=vines:hostname
  • Apple Talk :
    server=adsp:hostname

Références

Pour plus d'informations, reportez-vous au site de Web Microsoft suivant :

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

Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft SQL Server 2000 Standard
  • Microsoft SQL Server 2000 Édition 64 bits
  • 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
Mots-clés : 
kbmt kbhowtomaster KB313295 KbMtfr
Traduction automatiqueTraduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d’articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d’avoir accès, dans votre propre langue, à l’ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s’exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s’efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 313295  (http://support.microsoft.com/kb/313295/en-us/ )
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.
Partager
Options de support supplémentaire
Forums du support Microsoft Community
Nous contacter directement
Trouver un partenaire Microsoft Certified Partner
Microsoft Store