Aracılığıyla paylaş


TCP/IP dışında bir protokol kullanıyorsanız 1433 dışında bir bağlantı noktasında SQL Server'a bağlanamazsınız

Bu makale, 1433 dışındaki bir bağlantı noktasında SQL Server'a bağlanmak için TCP/IP dışında bir protokol kullandığınızda oluşan sorunu çözmenize yardımcı olur.

Özgün ürün sürümü: Visual C#
Özgün KB numarası: 307645

Belirtiler

İletim Denetimi Protokolü/İnternet Protokolü (TCP/IP) dışında bir protokol kullandığınızda, SqlConnection.Open SQL Server örneğine bağlanmak için 1433 dışında bir bağlantı noktası numarası belirtirseniz başarısız olur.

Çözüm

Bu sorunu çözmek için TCP/IP protokollerini kullanın ve bağlantı dizesi ekleyinServer=ComputerName, PortNumber.

Davranışı yeniden oluşturma adımları

  1. Visual Studio .NET'i başlatın.

  2. Yeni bir Visual C# .NET Konsol Uygulaması projesi oluşturun.

  3. Projenizin ad alanına bir başvuru içerdiğinden System.Data emin olun ve değilse bu ad alanına bir başvuru ekleyin.

  4. kodunuzda daha sonra bu ad alanları içindeki Systembildirimleri nitelemeniz gerekmemesi için , System.Data, System.Data.SqlClient ad alanları üzerindeki using deyimini kullanın.

    using System;
    using System.Data;
    using System.Data.SqlClient;
    
  5. Visual Studio varsayılan olarak statik bir sınıf ve boş Main bir yordam oluşturur. Aşağıdaki kodu kopyalayın ve Kod penceresine yapıştırın:

    Not

    Bu kodu çalıştırmadan önce değeri ve parola <strong password> değerini doğru değerlerle değiştirmeniz User ID <username> gerekir. Bu işlemi veritabanında gerçekleştirmek için uygun izinlere sahip olduğundan emin User ID olun.

    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. Dizeyi sConnectionString ortamınıza uygun şekilde değiştirin.

  7. Projenizi kaydedin.

  8. Hata Ayıkla menüsünde Başlat'a tıklayın ve veritabanına bağlanmak için projenizi çalıştırın.