TCP/IP 以外のプロトコルを使用する場合、1433 以外のポートでSQL Serverに接続することはできません

この記事は、TCP/IP 以外のプロトコルを使用して 1433 以外のポートのSQL Serverに接続するときに発生する問題を解決するのに役立ちます。

元の製品バージョン: Visual C#
元の KB 番号: 307645

現象

伝送制御プロトコル/インターネット プロトコル (TCP/IP) SqlConnection.Open 以外のプロトコルを使用する場合、1433 以外のポート番号を指定してSQL Serverのインスタンスに接続すると失敗します。

解決方法

この問題を解決するには、TCP/IP プロトコルを使用し、接続文字列に含Server=ComputerName, PortNumberめます。

動作の再現手順

  1. Visual Studio .NET を起動します。

  2. 新しい Visual C# .NET コンソール アプリケーション プロジェクトを作成します。

  3. プロジェクトに名前空間への参照が含まれていることを System.Data 確認し、含まれていない場合は、この名前空間への参照を追加します。

  4. コードの後半で、これらの名前空間のSystemSystem.DataSystem.Data.SqlClient宣言を修飾する必要がないように、 名前空間で using ステートメントを使用します。

    using System;
    using System.Data;
    using System.Data.SqlClient;
    
  5. Visual Studio では、既定で静的クラスと空 Main のプロシージャが作成されます。 次のコードをコピーし、[コード] ウィンドウに貼り付けます。

    注:

    このコードを実行する前に User ID<username> 、値とパスワード <strong password> 値を正しい値に変更する必要があります。 データベースに対してこの操作を実行するための適切なアクセス許可があることを確認します User ID

    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. 環境に sConnectionString 合わせて文字列を変更します。

  7. プロジェクトを保存します。

  8. [ デバッグ ] メニューの [ スタート] をクリックし、プロジェクトを実行してデータベースに接続します。