[英]MySQL Connection with C#
我有一个用JAVA编写的代码:
String host = "jdbc:mysql://online/find";
String username = "test";
String password = "test";
而且工作正常。 但我想将同一数据库MySQL与C#一起使用。 我正在这样做:
try
{
string myConnStr = "Server=//online/find; " +
" Port = 3306; "+
" DATABASE=finder; " +
" UID=test;Password=test;";
MySqlConnection MySqlConn = new MySqlConnection(myConnStr);
MySqlDataAdapter MySqlAdapter = new MySqlDataAdapter();
MySqlAdapter.SelectCommand = new MySqlCommand("Select * from finder.Customer", MySqlConn);
MySqlCommandBuilder cb = new MySqlCommandBuilder(MySqlAdapter);
MySqlConn.Open();
DataSet ds = new DataSet();
MessageBox.Show("Connected");
MySqlConn.Close();
}
但是我收到错误消息:“ 无法连接到任何指定的mysql主机 ”
我什至尝试在连接字符串中使用IP地址,但仍然无法正常工作。
我已经检查了这些帖子:
根据文档应为:
string myConnStr =
"Database=finder;Data Source=//online/find;Port=3306;User Id=test;Password=test";
但是对我来说,连接字符串可能很难记住。 手动编写时很容易出错。 一种建议是使用服务器资源管理器连接到数据库。 然后右键单击数据库图标>选择属性...,您将看到连接字符串的复制和粘贴。 瞧!
服务器资源管理器:
属性:
尝试通过IDE服务器资源管理器->数据连接连接到服务器,并观察生成的连接字符串。
关于这个问题,我的第一个想法是“这与用户名和密码的参数名称无关”。 您没有收到类似以下的错误:
用户“空”无法登录
Java和C#在完全不同的基础上工作(Oracle与Microsoft)我不知道Java,但我认为用于连接到远程位置的库必须不同。
我认为您使用的主机URL是个问题:
服务器= //在线/查找;
我在C#项目中使用MySQL,并将主机值定义为:
这是一个有效的MySQL连接字符串:
<add name="dbConnNews"
connectionString="server=xx.xx.xx.xx;database=yyyyy;User
Id=zzzzzz;Password=**********;"
providerName="MySql.Data.MySqlClient" />
您是否安装了Microsoft应用程序MySQl连接器。 如果是,则从您的C#应用程序中添加对MySql.dll的引用,然后使用以下连接字符串
字符串myConnStr =“ server = yourMySqlServerHostorIP; port = MySqlPort; uid =用户名; pwd =密码;初始目录= dbname”;
要下载mysql连接器,请访问http://dev.mysql.com/downloads/connector/net/ 。
让我知道它是否有效。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.