我一直在构建一个连接到mysql的应用程序,当我在我的计算机上工作时,它运行得很好。但是,现在我需要在我的客户端计算机上安装此应用程序。在他们的计算机上,我的mysql连接无法登录,我使用了正确的用户和密码,我使用的是phpmyadmin,但它总是说用户名或密码不正确。我与我创建的用户有问题,因此我使用root,但我仍然无法连接。
我的电脑有Windows 8,我的mysql版本是5.6.20
我的客户端计算机有windows 2008基础,而mysql版本是5.0.95。
我使用5.0.95连接器版本似乎与5.6.20兼容,但也许这就是问题,如果连接器版本不正确,请说明。
这是我用来创建mysql连接的代码:
private MySqlConnection connection;
/**
* Constructor
*/
public DBControl(EtiPrinter etiPrinter)
{
this.etiPrinter = etiPrinter;
Initialize();
if (OpenConnection())
{
CloseConnection();
}
else
{
throw new EtiPrinterException("Can't open the connection");
}
}
/**
* Initialize values
*/
private void Initialize()
{
connection = new MySqlConnection(
"SERVER=123.234.123.234;" +
"DATABASE=databse;" +
"UID=root;" +
"PASSWORD='password';"
);
/*throw new EtiPrinterException("" + etiPrinter.ConfigValues.MYSQL_Server +
" " + etiPrinter.ConfigValues.MYSQL_DB +
" " + etiPrinter.ConfigValues.MYSQL_UID +
" " + etiPrinter.ConfigValues.MYSQL_Pass);*/
}
/**
* open connection to database
*/
private bool OpenConnection()
{
try
{
connection.Open();
return true;
}
catch (MySqlException ex)
{
switch (ex.Number)
{
case 0:
throw new EtiPrinterException(ex.Message);
case 1045:
throw new EtiPrinterException("Invalid username/password, please try again\n" + ex.Message);
}
return false;
}
}
/**
* Close connection
*/
private bool CloseConnection()
{
try
{
connection.Close();
return true;
}
catch (MySqlException ex)
{
Console.WriteLine(ex.Message);
return false;
}
}
使用&#39>全部到位,EtiPrinterException
是我创建的自定义异常。
答案 0 :(得分:0)
是的,MySQL服务器上的权限有问题,但我无法解决这个问题。 我们在localhost中安装了一个新的mysql服务器并解决了问题,这不是最漂亮的解决方案,但我真的无法获得权限;
我将关闭此主题,感谢所有回答
的人