Sie können keine Verbindung mit SQL Server an einem anderen Port als 1433 herstellen, wenn Sie ein anderes Protokoll als TCP/IP verwenden.
Dieser Artikel hilft Ihnen bei der Lösung des Problems, das auftritt, wenn Sie ein anderes Protokoll als TCP/IP verwenden, um eine Verbindung mit SQL Server an einem anderen Port als 1433 herzustellen.
Originalversion des Produkts: Visual C #
Ursprüngliche KB-Nummer: 307645
Problembeschreibung
Wenn Sie ein anderes Protokoll als TCP/IP (Transmission Control Protocol/Internet Protocol) verwenden, tritt ein Fehler auf, SqlConnection.Open wenn Sie eine andere Portnummer als 1433 angeben, um eine Verbindung mit einer Instanz von SQL Server herzustellen.
Lösung
Verwenden Sie zum Beheben dieses Problems das TCP/IP-Protokoll, und schließen Sie Server=ComputerName, PortNumber es in die Verbindungszeichenfolge ein.
Schritte zum Reproduzieren des Verhaltens
Starten Sie Visual Studio .NET.
Erstellen Sie ein neues Visual C# .NET Console Application-Projekt.
Stellen Sie sicher, dass Ihr Projekt einen Verweis auf den
System.DataNamespace enthält, und fügen Sie andernfalls einen Verweis auf diesen Namespace hinzu.Verwenden Sie die using-Anweisung für die
SystemNamespaces ,System.Data,System.Data.SqlClientso dass Sie später in Ihrem Code keine Deklarationen in diesen Namespaces qualifizieren müssen.using System; using System.Data; using System.Data.SqlClient;Visual Studio erstellt standardmäßig eine statische Klasse und eine leere
MainProzedur. Kopieren Sie den folgenden Code, und fügen Sie ihn in das Codefenster ein:Hinweis
Sie müssen den
User ID<username>Wert und den Kennwortwert<strong password>in die richtigen Werte ändern, bevor Sie diesen Code ausführen. Stellen Sie sicher, dass sieUser IDüber die entsprechenden Berechtigungen zum Ausführen dieses Vorgangs für die Datenbank verfügen.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(); } }Ändern Sie die
sConnectionStringZeichenfolge entsprechend ihrer Umgebung.Speichern Sie Ihr Projekt.
Klicken Sie im Menü "Debuggen " auf "Start", und führen Sie das Projekt aus, um eine Verbindung mit der Datenbank herzustellen.