我正在尝试使用 ASP.NET Web 表单应用程序连接到 MySQL 数据库。我正在进行一项测试,将 MySQL 数据库中的数据绑定到
GridView
。
这是我的代码:
Dim strMySQLConn As String = "DRIVER={MySQL ODBC 5.1 Driver};Database=database_name;Server=ip_address;UID=username;PWD=password;"
Dim MySQLConn As New OdbcConnection(strMySQLConn)
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
Dim ds As DataSet = New DataSet()
Dim cmdMySQL As New OdbcDataAdapter("SELECT * FROM categorymaster", MySQLConn)
MySQLConn.Open()
cmdMySQL.Fill(ds, "prjs")
gv.DataSource = ds.Tables("prjs").DefaultView
gv.DataBind()
MySQLConn.Close()
End If
End Sub
但是,当建立MySQL数据库连接时(
MySQLConn.Open()
),返回以下错误:
错误 [IM002] [Microsoft][ODBC 驱动程序管理器] 数据源名称不正确 找到并且没有指定默认驱动程序
这是为什么?我该如何防止这种情况发生?
此外,出现此错误的可能原因是什么?如果登录凭据不正确,会显示此错误吗?
这个问题是因为我正在安装
64-bit
MySQL ODBC 5.1 驱动程序而引起的,因为我的操作系统运行的是 64 位。
因为我几天来一直在尝试解决这个问题,所以最终我删除了驱动程序,并安装了
32-bit
MySQL ODBC 5.1 驱动程序。
这已修复错误,我现在可以成功连接。
柯特是对的。 我遇到了这个确切的问题。因为我的工作站上安装了 MySQL Workbench,所以我假设我已经安装了驱动程序;没有。 安装驱动程序并通过正确的版本调用它,并添加命令“Provider=MSDASQL;”由于我使用的是 64 位系统,因此连接字符串为我解决了这个问题。 如果您想查看 Windows 系统上安装的所有 ODBC 驱动程序,请打开注册表编辑器:
\HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\ODBC 驱动程序。
您将在此处查看是否安装了 MySQL 驱动程序,如果已安装,则其正确名称。
此链接将带您前往 MySQL 驱动程序下载站点。
我的“找不到数据源名称”的解决方案(使用5.2.4 ODBC ansi驱动程序,Win7 64位):
1) 安装 64 位 ODBC MySQL 驱动程序 - 它应该在 ODBC 驱动程序中可见。
2) 安装 32 位 ODBC MySQL 驱动程序 - 它在 ODBC 驱动程序中不可见,但在 Program Files x86 中创建“影子”安装。
仅此而已。
我的问题是我的代码
DRIVER={MySQL ODBC 5.3 Driver},但是当我通过 Windows 搜索引擎查找 ODBC 时,我发现了一个名为 ODBC Data Sources 的应用程序,在该应用程序的 Drivers 选项卡下,我找到了驱动器的名称是 {MySQL ODBC 5.3 ANSI 驱动程序}。这解决了问题。
我正在将 java 7 与 ODBC 连接,这对我有用
String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
String connectionString = "jdbc:odbc:\"DRIVER={MySQL ODBC 8.0 Unicode Driver};DSN=refde;Trusted_Connection=Yes;";
我正在 Visual Studio 2022 中将 REST API 从 php 迁移到 C#/Dot net core,并且遇到了与 Visual Studio 2019 中存在但已在 Visual Studio 2022 中消失的 MySQL DB 选项类似的问题,使得使用实体变得困难框架。
我在安装 MySQL ODBC Connector v9 后使用了 ODBC 数据源选项,因为其他选项(MySQL for VS 等)在 VS 2022 中不起作用。
Driver={MySQL ODBC 9.0 Unicode Driver};server=127.0.0.1;database=mydatabase;uid=userid
我希望这对 Visual Studio 2022+ 的未来用户有用