连接到MySQL会导致错误“找不到数据源名称并且未指定默认驱动程序”

时间:2011-11-23 09:45:58

标签: asp.net mysql

我正在尝试使用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驱动程序管理器]数据源名称不是   找到并且没有指定默认驱动程序

为什么会这样,以及如何防止它发生?

此外,看到此错误的可能原因是什么?如果登录凭据不正确,是否会显示此错误?

5 个答案:

答案 0 :(得分:11)

问题是因为我正在安装64-bit MySQL ODBC 5.1驱动程序,因为我的操作系统运行的是64位。

因为我一直试图解决这个问题,所以我删除了驱动程序并安装了32-bit MySQL ODBC 5.1驱动程序。

这解决了错误,我现在正在建立连接。

答案 1 :(得分:3)

您可能需要检查驱动程序是否已安装。 Here is a guide to getting the list

检查您是否已安装,并确保您的版本与连接字符串中的版本匹配。

您应该可以下载驱动程序Here

答案 2 :(得分:3)

我的解决方案"未找到数据源名称" (使用5.2.4 ODBC ansi驱动程序,Win7 64位):

1)安装64位ODBC MySQL驱动程序 - 它应该在ODBC驱动程序中可见。

2)安装32位ODBC MySQL驱动程序 - 它在ODBC驱动程序中是不可见的,但会创建一个" shadow"在Program Files x86中安装。

这就是全部。

答案 3 :(得分:3)

科特是对的。我遇到了这个问题。由于我在工作站上安装了MySQL Workbench,我假设我安装了驱动程序;不。 安装驱动程序并使用正确的版本调用它,并添加命令“Provider = MSDASQL;”因为我在64位系统上为我解决了这个问题所以连接字符串。 如果要查看Windows系统上安装的所有ODBC驱动程序,请打开注册表编辑器以:

  

\ HKEY_LOCAL_MACHINE \ SOFTWARE \ ODBC \ ODBCINST.INI \ ODBC驱动程序。

在那里你会发现是否安装了MySQL驱动程序,如果是,那么它的正确名称。

This Link将带您进入MySQL驱动程序下载站点。

答案 4 :(得分:0)

我的问题是我的代码

DRIVER = {MySQL ODBC 5.3 Driver},但当我通过windows搜索引擎查找ODBC时,我在驱动程序下的该应用程序中找到了一个名为 ODBC Data Sources 的应用程序选项卡我发现驱动器的名称是{MySQL ODBC 5.3 ANSI Driver}。这解决了问题。