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

  1. Starten Sie Visual Studio .NET.

  2. Erstellen Sie ein neues Visual C# .NET Console Application-Projekt.

  3. Stellen Sie sicher, dass Ihr Projekt einen Verweis auf den System.Data Namespace enthält, und fügen Sie andernfalls einen Verweis auf diesen Namespace hinzu.

  4. Verwenden Sie die using-Anweisung für die SystemNamespaces , System.Data, System.Data.SqlClient so dass Sie später in Ihrem Code keine Deklarationen in diesen Namespaces qualifizieren müssen.

    using System;
    using System.Data;
    using System.Data.SqlClient;
    
  5. Visual Studio erstellt standardmäßig eine statische Klasse und eine leere Main Prozedur. 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 sie User 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();
        }
    }
    
  6. Ändern Sie die sConnectionString Zeichenfolge entsprechend ihrer Umgebung.

  7. Speichern Sie Ihr Projekt.

  8. Klicken Sie im Menü "Debuggen " auf "Start", und führen Sie das Projekt aus, um eine Verbindung mit der Datenbank herzustellen.