从Microsoft Data Application Block连接到MySQL
-
03-07-2019 - |
题
我正在使用数据应用程序块进行大部分数据访问,特别是使用SqlHelper类来调用ExecuteReader,ExecuteNonQuery等方法。使用每个数据库调用传递连接字符串。
我如何修改它以启用与MySQL数据库的连接。
解决方案
如果您已安装企业库并且已经知道如何连接到SQL Server数据库,那么连接到MySQL数据库并不困难。
一种方法是使用ODBC。这就是我所做的:
- 转到MySQL.com并下载最新的MySQL ODBC连接器。在我写这篇文章时它是5.1.5。我使用的是64位版本,因为我有64位Vista。
- 安装ODBC连接器。我选择使用无安装程序版本。我刚刚解压缩它并在管理员的命令提示符下运行Install.bat。 MSI版本可能工作正常,但是当我安装3.51连接器时,我就这样做了。
- 通过打开ODBC控制面板并选中“驱动程序”选项卡来验证安装。你应该看到那里列出的MySQL ODBC 5.1驱动程序。如果你已经拥有它,它似乎甚至与旧的3.51版本和平共存。此外,如果安装了.NET连接器,它也会和平共存。
- 此时,您将完成连接SQL Server数据库所做的工作。您需要知道的是连接字符串的用途。
- 这是我的样子:
- 当然你可以设置“名字”。无论你想要什么。
- 如果这是您唯一的数据库,您可以将其设置为defaultDatabase,如下所示:
- 像往常一样访问代码中的数据!这是一个纯文本的SQL示例: 醇>
public List<Contact> Contact_SelectAll() { List<Contact> contactList = new List<Contact>(); Database db = DatabaseFactory.CreateDatabase("MySqlDatabaseTest"); DbCommand dbCommand = db.GetSqlStringCommand("select * from Contact"); using (IDataReader dataReader = db.ExecuteReader(dbCommand)) { while (dataReader.Read()) { Contact contact = new Contact(); contact.ID = (int) dataReader["ContactID"]; client.FirstName = dataReader["ContactFName"].ToString(); client.LastName = dataReader["ContactLName"].ToString(); clientList.Add(client); } } return clientList; }
另一种方法是构建和使用MySql提供程序。 这家伙做到了这一点。 我通过调整这些说明了解了如何执行此操作用于连接到Access。 哦,这里还有一些MySql连接字符串示例。
不隶属于 StackOverflow