【问题标题】:Connect to MySQL from Microsoft Data Application Block从 Microsoft 数据应用程序块连接到 MySQL
【发布时间】:2010-09-29 00:23:20
【问题描述】:

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

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

【问题讨论】:

    标签: database-connection application-blocks


    【解决方案1】:

    如果您已经安装了 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 提供程序。 This guy did that。 我通过adapting these instructions 了解了如何连接到 Access。 Oh, and here are some more MySql Connection String samples.

    【讨论】:

      猜你喜欢
      • 2011-07-12
      • 1970-01-01
      • 2019-10-19
      • 2015-09-15
      • 1970-01-01
      • 1970-01-01
      • 2011-07-28
      • 2014-11-26
      • 2015-03-16
      相关资源
      最近更新 更多