繁体   English   中英

与C#的MySQL连接

[英]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地址,但仍然无法正常工作。

我已经检查了这些帖子:

无法连接到任何指定的mysql主机。 C#MySQL

无法连接到任何指定的mysql主机。 C#

根据文档应为:

string myConnStr = 
"Database=finder;Data Source=//online/find;Port=3306;User Id=test;Password=test";

但是对我来说,连接字符串可能很难记住。 手动编写时很容易出错。 一种建议是使用服务器资源管理器连接到数据库。 然后右键单击数据库图标>选择属性...,您将看到连接字符串的复制和粘贴。 瞧!

服务器资源管理器:

在此处输入图片说明

属性:

在此处输入图片说明

尝试通过IDE服务器资源管理器->数据连接连接到服务器,并观察生成的连接字符串。

关于这个问题,我的第一个想法是“这与用户名和密码的参数名称无关”。 您没有收到类似以下的错误:

用户“空”无法登录

Java和C#在完全不同的基础上工作(Oracle与Microsoft)我不知道Java,但我认为用于连接到远程位置的库必须不同。

我认为您使用的主机URL是个问题:

服务器= //在线/查找;

我在C#项目中使用MySQL,并将主机值定义为:

  • 本地主机或127.0.0.1
  • IP地址(xxx.xxx.xxx.xxx)
  • 主机URL(my.dbserver.com)

这是一个有效的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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM