【问题标题】:Connecting to a mySQL database using asp.net使用 asp.net 连接到 mySQL 数据库
【发布时间】:2011-02-20 00:21:09
【问题描述】:

所以经过一些尝试后,我发现我需要一个驱动程序。我已经从下面的链接安装了组件。但是当我尝试添加它们时仍然找不到任何 SQL 引用?我想知道是否有人会知道这是什么原因?我刚开始使用asp.net。我发现了其他几个关于连接代码的问题,但我找不到以前遇到过连接器/组件问题的人?

MYSQL 连接器 http://dev.mysql.com/downloads/connector/net/5.0.html

Microsoft 数据访问组件 (MDAC) 2.8 http://www.microsoft.com/downloads/details.aspx?FamilyID=6c050fe3-c795-4b7d-b037-185d0506396c&displaylang=en

我正在使用 Visual Studio。

【问题讨论】:

    标签: asp.net mysql


    【解决方案1】:

    右键单击引用,然后选择“添加引用”。浏览并选择Mysql.Data.dll

    dll应该在你下载的连接器的安装目录下。

    最后,在代码中:

    using MySql.Data.MySqlClient;
    

    还有,示例连接:

    MySqlConnection connection = new MySqlConnection("Database=database_name;Data Source=server_domain_or_ip;User Id=mysql_user;Password=mysql_password");
    connection.Open();
    
    MySqlCommand command =  connection.CreateCommand();
    command.CommandText = "select * from mytable";
    MySqlDataReader reader = command.ExecuteReader();
    while (reader.Read())
    {
      //reader.GetString(0)
      //reader["column_name"].ToString()
    }
    reader.Close();
    

    【讨论】:

    • 我删除了我的最后一条评论,我想我找到了问题所在。它可能是只接受本地连接的主机(mysql 在我的网站上,我的程序在我的电脑上)。今晚我将在另一个 mysql 数据库上测试这段代码。
    • 如果您使用 3rd 方托管,他们默认只接受从 localhost 到 mysql 的连接。有些在控制面板中为您提供了添加一些外部 IP 以接受传入连接的选项。如果你的电脑没有固定IP,那可能是个问题。因为,在服务器端,您可能必须允许从所有 IP 到 mysql 的传入连接。这在安全性方面不好。在这种情况下,最好的选择是在服务器上开发一个 Web 服务,它将访问数据库。然后,从桌面应用程序,通过网络服务获取数据(并且没有直接的数据库连接)
    • 另外,你必须在你的应用程序中硬编码你的mysql服务器密码,任何人都可以通过简单地反编译exe来获得。同样,如果您需要更改 mysql 服务器密码怎么办?还是数据库架构?
    • 在我去这里之前,我发现了一个很好的例子,其中连接字符串保存在 web.config 文件中(使用 asp.net) - 应该这样做,除非我弄错了,否则不是每个人都能得到它?目前安全不是我的问题,而是连接。我联系了我托管网站的地方,数据库只接受本地连接。所以现在我正在寻找一个新的虚拟主机:) 谢谢你的回答,他们真的很有帮助!
    • 如果你的项目是一个网站,那绝对没问题 :) 我以为你是从某个桌面应用程序连接到 mysql。
    【解决方案2】:

    您可以浏览到 DLL 并添加引用。

    【讨论】:

      猜你喜欢
      • 2014-01-19
      • 1970-01-01
      • 2016-02-03
      • 1970-01-01
      • 2014-03-15
      • 2013-08-18
      • 2012-01-12
      • 2012-04-27
      • 2011-07-22
      相关资源
      最近更新 更多