1

l 我使用数据应用程序块进行大部分数据访问,特别是使用 SqlHelper 类来调用 ExecuteReader、ExecuteNonQuery 等方法。在每个数据库调用中传递连接字符串。

我如何修改它以启用与 MySQL 数据库的连接。

4

1 回答 1

3

如果您已经安装了 Enterprise Library 并且已经知道如何连接到 SQL Server 数据库,那么连接到 MySQL 数据库并不难。

一种方法是使用 ODBC。这就是我所做的:

  1. 转到 MySQL.com 并下载最新的 MySQL ODBC 连接器。在我写这篇文章时,它是 5.1.5。我使用的是 64 位版本,因为我有 64 位 Vista。
  2. 安装 ODBC 连接器。我选择使用无安装程序版本。我只是解压缩它并在管理员的命令提示符下运行 Install.bat。MSI 版本可能工作正常,但我在安装 3.51 连接器时就这样做了。
  3. 通过打开 ODBC 控制面板并检查驱动程序选项卡来验证安装。您应该会看到那里列出的 MySQL ODBC 5.1 驱动程序。如果您已经拥有它,它似乎甚至可以与旧的 3.51 版本和平共存。此外,如果也安装了 .NET 连接器,它也可以和平共存。
  4. 此时,您将完成连接到 SQL Server 数据库的操作。您只需要知道连接字符串的用途。
  5. 这是我的样子:
  6. 当然,您可以将“名称”设置为您想要的任何内容。
  7. 如果这是您唯一的数据库,您可以将其设置为 defaultDatabase,如下所示:
  8. 像往常一样访问代码中的数据!这是一个纯文本 sql 示例:
    公共列表<联系人> Contact_SelectAll()
    {
        列表<联系人> 联系人列表 = 新列表<联系人>();
        数据库 db = DatabaseFactory.CreateDatabase("MySqlDatabaseTest");
        DbCommand dbCommand = db.GetSqlStringCommand("select * from Contact");
        使用 (IDataReader dataReader = db.ExecuteReader(dbCommand))
        {
            而(dataReader.Read())
            {
                联系人联系人 = 新联系人();
                contact.ID = (int) dataReader["ContactID"];
                client.FirstName = dataReader["ContactFName"].ToString();
                client.LastName = dataReader["ContactLName"].ToString();
                客户端列表。添加(客户端);
            }
        }

        返回客户端列​​表;
    }

另一种方法是构建和使用 MySql 提供程序。这家伙就是这么做的我通过调整这些说明以连接到 Access 来学习如何做到这一点。哦,这里还有一些 MySql 连接字符串示例

于 2009-02-20T07:12:03.260 回答