0
private DBHandler(String ServerIP, String userName, String password)
{
    DB_USERNAME = userName;
    DB_PASSWORD = password;

    DB_CONNECTION_URL = "jdbc:mysql://"+ServerIP+"/Test";
    connection = createConnetcion(DB_DRIVER, DB_CONNECTION_URL, DB_USERNAME, DB_PASSWORD);
    System.out.println("Connection created");

}

执行此代码时发生 java sql 异常。“不允许主机 'WS1A101.ushustech.com' 连接到此 MySQL 服务器”。对我的代码有任何投诉吗?这里到底出了什么问题?

4

5 回答 5

2

让您的 DBA 检查是否允许来自客户端计算机的连接连接到数据库。

于 2012-09-12T14:02:51.227 回答
0

代码没有问题,请您的 DBA 授予您的计算机连接到该数据库的权限

于 2012-09-12T14:03:41.940 回答
0

除非您的 mysql 帐户创建为username@name_of_machine_you_connect_fromorusername@ip_of_machine_you_connect_from或使用通配符username@%,否则您将无法连接。如果它使用主机名版本,请确保有一个反向 DNS 映射,以便 mysql 可以将它看到的 IP 地址映射回用户表中列出的主机名。

于 2012-09-12T14:05:01.133 回答
0

您需要在 MySQL 中为您的主机设置权限。在您的情况下,它应该类似于

GRANT ALL PRIVILEGES on Test.* to 'user'@'WS1A101.ushustech.com' identified by 'password';
FLUSH PRIVILEGES;
于 2012-09-12T14:11:23.407 回答
0

DB_CONNECTION_URL = "jdbc:mysql://ws1a101.ushustech.com/Test";

而不是 DB_CONNECTION_URL = "jdbc:mysql://"+ServerIP+"/Test";

于 2012-09-12T14:06:53.317 回答