当前位置: 首页 > 面试题库 >

错误:对用户'的选择命令被拒绝'@'“表”'

羊舌成周
2023-03-14
问题内容

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

现在,在该Web服务的一种方法中,出现以下错误。

选择拒绝表“”的用户“ @”的命令

有什么事吗

下面是我得到该错误的代码。我尝试调试,发现它失败了

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

问题答案:

数据库用户无权执行选择查询。

如果您具有mysql的root访问权限,则可以向用户授予权限

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

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

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

与您连接的用户无权访问该数据库或特定表中的数据。

你考虑过这件事吗?



 类似资料:
  • 问题内容: 我用了 然后我导入数据库,它显示一个错误: 问题答案: 您仅向“ charmstyle_com”数据库内的“ charmstyle_com”表授予用户权限。您可能想要的是授予“ charmstyle_com”(或至少“ adminnotification_inbox”表)中所有表的权限 或者

  • 问题内容: 我在其中一台服务器上进行某些查询时遇到麻烦。在我测试过的所有其他地方,它都可以正常工作,但是在我要使用的服务器上,它无法正常工作。 关于以下SQL: 这是我从中得到的错误代码: 表格:facturen: 投影: 奇怪的是,“ projecten”表和“ facturen”表上的所有其他查询都可以正常工作,而该查询在我的另外两个服务器上也可以正常工作。 问题答案: 我遇到了同样的情况,但

  • 问题内容: $ ./mysqladmin -u root -p ‘ 编辑 ‘ 输入密码: mysqladmin:在“ localhost”处连接到服务器失败错误: “对用户“ root” @“ localhost”的访问被拒绝(使用密码:是) 我怎样才能解决这个问题? 问题答案: 打开并编辑或,具体取决于您的发行版。 在下添加 重启MySQL 您现在应该可以使用以下命令登录mysql 跑 设置新密

  • 问题内容: 我正在设置新服务器,并继续遇到此问题。 当我尝试以root用户登录MySQL数据库时,出现错误: 错误1698(28000):用户’root’@’localhost’的访问被拒绝 是否通过终端(SSH),PHPMyAdmin或MySQL客户端(例如Navicat)连接都没有关系。他们都失败了。 我在mysql.user表中查看了以下内容: 如您所见,root应该具有访问权限。 该服务器

  • 问题内容: 正在运行表示我以具有数据库所有特权的用户身份登录。 运行会导致错误。并且错误不显示我作为登录用户名! 就好像对于此命令,mysql忘记了我是谁。其他选择语句也可以正常工作。谁能解释一下?怎么修?谢谢。 更新…根据Tomalak的建议,我删除了该用户,并使用更充分的特权和密码重新创建了该用户。问题仍然存在。现在看起来像这样: 问题答案: 问题可能是您的数据库中有VIEWS。视图可能是使用

  • 我在Ruby 2.0.0-p353和OSX Mavericks上使用Rails 4.0.2、Guard 2.2.4、Guard rspec 4.2.4、rspec Rails 2.14.0、Capybara 2.2.1和Poltergeist 1.5.0。 当我运行bundle exec Guard时,我得到了很多失败的错误消息:一个错误发生在后钩子Errno::EACCES:权限拒绝- /usr