Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article vous aide à résoudre le problème qui se produit lorsque vous utilisez un protocole autre que TCP/IP pour vous connecter à SQL Server sur un port autre que 1433.
Version du produit d’origine : Visual C#
Numéro de base de connaissances d’origine : 307645
Symptômes
Lorsque vous utilisez un protocole autre que le protocole TCP/IP (Transmission Control Protocol/Internet Protocol), SqlConnection.Open échoue si vous spécifiez un numéro de port autre que 1433 pour vous connecter à une instance de SQL Server.
Résolution
Pour résoudre ce problème, utilisez le protocole TCP/IP et incluez-le Server=ComputerName, PortNumber dans la chaîne de connexion.
Étapes à suivre pour reproduire le comportement
Démarrez Visual Studio .NET.
Créez un projet d’application console Visual C# .NET.
Assurez-vous que votre projet contient une référence à l’espace
System.Datade noms et ajoutez une référence à cet espace de noms si ce n’est pas le cas.Utilisez l’instruction using sur les
Systemespaces de noms ,System.DataespacesSystem.Data.SqlClientde noms afin que vous ne soyez pas obligé de qualifier les déclarations dans ces espaces de noms plus loin dans votre code.using System; using System.Data; using System.Data.SqlClient;Visual Studio crée une classe statique et une procédure vide
Mainpar défaut. Copiez le code suivant et collez-le dans la fenêtre Code :Note
Vous devez modifier la
User ID<username>valeur et la valeur du mot de passe<strong password>en valeurs correctes avant d’exécuter ce code. Vérifiez queUser IDvous disposez des autorisations appropriées pour effectuer cette opération sur la base de données.class Class1 { static void Main(string[] args) { string sConnectionString; sConnectionString = "User ID=<username>;Password =<strong password>;Initial Catalog=pubs;Data Source=myServer,1200"; SqlConnection objConn = new SqlConnection(sConnectionString); objConn.Open(); SqlDataAdapter daAuthors = new SqlDataAdapter("Select * From Authors", objConn); DataSet dsPubs = new DataSet("Pubs"); daAuthors.FillSchema(dsPubs, SchemaType.Source, "Authors"); daAuthors.Fill(dsPubs, "Authors"); daAuthors.MissingSchemaAction = MissingSchemaAction.AddWithKey; daAuthors.Fill(dsPubs, "Authors"); DataTable tblAuthors; tblAuthors = dsPubs.Tables["Authors"]; foreach (DataRow drCurrent in tblAuthors.Rows) { Console.WriteLine("{0} {1}", drCurrent["au_fname"].ToString(), drCurrent["au_lname"].ToString()); } Console.ReadLine(); } }Modifiez la
sConnectionStringchaîne en fonction de votre environnement.Enregistrez votre projet.
Dans le menu Débogage , cliquez sur Démarrer et exécutez votre projet pour vous connecter à la base de données.