将 OleDbConnection 与 mysql 服务器一起使用

using OleDbConnection with mysql server

所以我刚刚将 Access 数据库迁移到 MySql 数据库。 我想知道是否可以将 OleDbConnection 与 MySql 服务器一起使用。

这是我想要使用的:
New OleDbConnection(Provider=WHAT_HERE;Data Source=127.0.0.1,3306;Initial Catalog=*****;User ID=*****;Password=****)

我知道有 MySql连接,但由于这是一个大的旧项目,我不想重新进行所有编码。

我强烈建议您改用 MySqlClient 而不是 OleDEb。这样做真的没什么大不了的。希望您已经在项目级别导入了 System.Data.OleDb 命名空间,这样您就可以删除该导入,并且每个 OleDb 类型的使用都将被标记。您基本上可以使用 Find & Replace 将所有 OleDb 类型更改为 MySqlClient,例如找到 OleDbConnection 并替换为 MySqlConnection.

MySQL 没有 first-party 个 OLE DB 提供程序。可能有 third-party 个选项,但我不知道具体的选项。有用于 ODBC 驱动程序的 Microsoft OLE DB 提供程序,因此您可以使用它来连接到 MySQL ODBC 驱动程序,但这对我来说似乎是一个脆弱的解决方案。

考虑到转换为 MySqlClient 并不是特别麻烦,我会坚持这样做。您可能需要注意的一个问题是,如果您没有 Option Strict On(您绝对应该这样做),那么在某些情况下,创建 MySqlParametrer 将接受 OleDbType 没有编译错误,但在 run-time 时会出现错误。请务必在代码中找到字符“oledb”的所有实例。