エラー: ユーザーの選択コマンドが拒否されました ' '@' ' テーブル ' ' 質問する

エラー: ユーザーの選択コマンドが拒否されました ' '@' ' テーブル ' ' 質問する

私のウェブサイトでは、MySQL データベースを使用しています。データベース関連のすべての操作を実行する Web サービスを使用しています。

現在、その Web サービスのメソッドの 1 つで、次のエラーが発生します。

テーブル '<table-name>' に対するユーザー '<userid>'@'<ip-address>' の選択コマンドが拒否されました

何が問題なのでしょうか?

以下はエラーが発生したコードです。デバッグを試みたところ、次の行でエラーが発生することがわかりました。

MySqlDataReader result1 = command1.ExecuteReader();

これが私のコードです:

        String addSQL = "Select Max(`TradeID`) from `jsontest`.`tbl_Positions";
        MySqlConnection objMyCon = new MySqlConnection(strProvider);
        objMyCon.Open();
        MySqlCommand command = objMyCon.CreateCommand();

        command.CommandText = addSQL;
         MySqlDataReader result = command.ExecuteReader();
        //int j = command.ExecuteNonQuery();
         while (result.Read())
         {
             MaxTradeID = Convert.ToInt32(result[0]);
         }
        objMyCon.Close();
        for (i = 1; i <= MaxTradeID; i++)
        {
            String newSQL = "Select `Strike`,`LongShort`,`Current`,`TPLevel`,`SLLevel` from `json`.`tbl_Position` where `TradeID` = '" + i + "'";
            MySqlConnection objMyCon1 = new MySqlConnection(strProvider);
            objMyCon1.Open();
            MySqlCommand command1 = objMyCon1.CreateCommand();

            command1.CommandText = newSQL;
            MySqlDataReader result1 = command1.ExecuteReader();
           objMyCon2.Close();

ベストアンサー1

元の投稿者の問題はずっと前に解決されていると思います。しかし、私も同じ問題を抱えていたので、この問題の原因を説明しようと思いました。

私は 2 つのテーブル「foo」と「foo_bar」でユニオン クエリを実行していました。しかし、SQL ステートメントにタイプミスがありました:「foo.bar」

そのため、エラー メッセージには、「foo.bar」テーブルが存在しないことが示されるのではなく、権限がないかのようにコマンドが拒否されたことが示されます。

おすすめ記事