将 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”的所有实例。
所以我刚刚将 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”的所有实例。