3

私は週末中ずっとこのコードを見てきました。データがあり、他のクエリを介してデータを取得できることはわかっていますが、GridViewは表示および入力されません。提案?

        string sqlSelection =
                    "SELECT * FROM [COMPANY].[dbo].[parking] ";

        SqlConnection cn = new SqlConnection(ConfigurationManager.ConnectionStrings["DATACONNECTION"].ToString());
        //This connection works in MSSMS and in other pages I have on the same server

        SqlDataAdapter sda = new SqlDataAdapter(sqlSelection, cn);

        SqlCommandBuilder scb = new SqlCommandBuilder(sda);

        DataTable dTable = new DataTable();

        sda.Fill(dTable);
            //debug shows: dTable <not set>


        GrdDynamic.Visible = true;
        GrdDynamic.DataSource = dTable;
        GrdDynamic.DataBind();
4

1 に答える 1

0

Web サービスがアカウントにアクセスできないため、接続文字列のアカウントにデータベースへの権限がない場合、この動作が発生しました。マシン アカウント (SQL ログインではない) を使用している場合は、SQL ログインを作成し (可能であれば)、データベースに割り当ててみてください。または、匿名アカウントを一時的に使用して、管理スタジオに使用しているログインを使用できます (おそらく自分自身)。ルーティングの問題が原因で Web サーバーが SQL サーバーを認識できなかった場合にも、これが発生しました。サーバーに移動してSQLサーバーにpingを実行することで、最後のものをテストできます。最悪の状況は、ファイアウォールがポートの接続を停止した場合です。ネットワークの構成方法に大きく依存するため、この状況の確実な発射テストについては確信が持てません。

于 2012-05-15T05:22:38.443 に答える