Utiliser le paramètre nom du serveur dans un chaîne de connexion pour spécifier la bibliothèque réseau cliente
Résumé
Cet article explique comment spécifier par programmation la bibliothèque réseau cliente dans le chaîne de connexion lorsque vous vous connectez à une base de données SQL Server.
Dans Microsoft Data Access Components (MDAC) 2.6 et versions ultérieures, vous pouvez spécifier la bibliothèque d’accès client à l’aide du paramètre nom du serveur 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 à entrer un nom de serveur auquel se connecter. Ce comportement peut être utile lorsque vous testez et résolvez les problèmes de connectivité pour SQL Server.
Par exemple, vous pouvez utiliser l’utilitaire de ligne de commande Osql pour vous connecter à SQL Server et pour le forcer à utiliser la bibliothèque réseau TCP/IP :
osql -Stcp:myServer,portNumber -E
Version du produit d’origine : SQL Server
Numéro de la base de connaissances d’origine : 313295
Exemple de code
L’exemple de code Microsoft Visual C# .NET suivant montre comment définir la chaîne de connexion. Le chaîne de connexion a le même format, quelle que soit 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
Le chaîne de connexion et en particulier la valeur du paramètre de serveur :
string sCxn = "server=myServer;Integrated Security=SSPI; database=northwind"
Utiliser l’exemple de code avec différentes bibliothèques réseau
Les exemples de code suivants montrent comment utiliser la valeur du paramètre de 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
Canaux nommés :
server=np:hostname
Vous pouvez éventuellement spécifier un canal nommé spécifique.
server=np:\\hostname\pipe\pipeName
Par défaut, le nom du canal est sql\query. Si vous vous connectez à un instance nommé, le nom du canal est généralement au format suivant :
MSSQL$instnaceName\sql\query
La valeur par défaut du protocole sous-jacent est déterminée par les paramètres du système d’exploitation où un protocole peut avoir l’une des valeurs suivantes :
Valeur Protocole sous-jacent ncacn_np Canaux nommés Ncacn_ip_tcp Protocole TCP/IP (Transmission Control Protocol/Internet Protocol) ncalrpc Appel de procédure locale Mémoire partagée :
server=lpc:hostname
References
Pour plus d’informations, consultez Annexe A : Entrées de Registre.
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour