错误:选择命令拒绝用户 '<userid>'@'<ip-address>'对于表 '<table-name>'

2021-11-20 00:00:00 mysql mysql-error-1142 mysqldatareader

在我的网站上,我使用的是 MySQL 数据库.我正在使用网络服务,在其中执行所有与数据库相关的操作.

In my website, I am using MySQL database. I am using a webservice where in I do all my database related manipulations.

现在在该网络服务的方法之一中,我收到以下错误.

Now In one of the methods of that webservice, I get the following Error.

select 命令拒绝用户 ''@''对于表 ''

select command denied to user '<userid>'@'<ip-address>' for table '<table-name>'

可能有什么问题?

以下是我收到该错误的代码.我尝试调试,发现它在行中失败

Below is the code where I get that error. I tried debugging and found that it fails at the line

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();

推荐答案

数据库用户没有权限进行选择查询.

database user does not have the permission to do select query.

如果你有mysql的root权限,你可以给用户授予权限

you can grant the permission to the user if you have root access to mysql

http://dev.mysql.com/doc/refman/5.1/en/grant.html

您的第二个查询在不同表的不同数据库上.

Your second query is on different database on different table.

 String newSQL = "Select `Strike`,`LongShort`,`Current`,`TPLevel`,`SLLevel` from `json`.`tbl_Position` where `TradeID` = '" + i + "'";

并且您所连接的用户无权访问此数据库或此特定表中的数据.

And the user you are connecting with does not have permission to access data from this database or this particular table.

你考虑过这件事吗?

相关文章