MySql ODBC Windows XP到Windows 7

时间:2012-12-03 17:30:44

标签: mysql windows vb.net odbc

我正在尝试将大型应用程序从Windows XP移植到Windows 7.这个应用程序必须在两个平台上并行工作,因为我有22个客户端计算机,它们都是目前的Windows XP,但随着时间的推移逐个转换到Windows 7。

我有一个可以在XP中运行良好的MySql数据库并且已经使用了几年。在我的第一台Windows 7计算机上,当我运行代码行打开与db的连接时,它失败了:

MyOdbcConnection.Open()

错误是“错误[IM002] [Microsoft] [ODBC驱动程序管理器]未找到数据源名称且未指定默认驱动程序”。

为了尝试修复它,我从MySql下载了最新的ODBC 5.2驱动程序。我下载了32位和64位的。我进入了32位和64位的ODBC数据源管理员,并为用户DSN,系统DSN和文件DSN的数据库成功添加了我的数据源。我也可以从MySql工作台成功连接到数据库。

这是我的连接字符串。除了使用5.1驱动程序之外,它与其他工作机器相同。

Dim MySqlConString As String = "DRIVER={MySQL ODBC 5.2 Driver};" & _ "SERVER=myserver;" & _ "DATABASE=mydb;" & _ "UID=root;" & _ "PASSWORD=mypw;" & _ "OPTION=3" – Jason Shoulders 3 hours ago

尽管能够添加数据源并通过工作台连接到数据库,但是当我运行我的exe时,我仍然会收到错误。有什么建议吗?

4 个答案:

答案 0 :(得分:0)

显然我需要:

DRIVER={MySQL ODBC 5.2w Driver}

似乎很蹩脚。我不确定“w”来自何处。

答案 1 :(得分:0)

添加用户,系统和文件DSN没有什么意义,因为您的代码没有使用任何一个。您正在使用通常称为“无DSN”连接的内容。如果您使用的是任何创建的DSN,则连接字符串将为“DSN = my_created_dsn”或FILEDSN = path_to_file。当您使用“DRIVER = {xxx}”时,您所做的就是告诉ODBC驱动程序管理器加载哪个驱动程序,连接字符串中的其他属性告诉驱动程序要连接的mysql数据库。您用于xxx的名称必须与驱动程序的名称完全相同,如odbc驱动程序选项卡中所示。如果您要继续这样连接,可以删除所有DSN。

答案 2 :(得分:0)

你的32位程序找不到64位odbc驱动程序。尝试在命令窗口中使用以下内容设置32位驱动程序

%WINDIR%\syswow64\odbcad32.exe

答案 3 :(得分:0)

我在Windows XP Pro SP3下使用32位

的Visual Fox Pro 9.0

我遇到了同样的问题,但是ID无效:

Driver = {MySQL ODBC 5.2a Driver}或者Driver = {MySQL ODBC 5.2w Driver}

IT工作!!!用:

Driver = {MySQL ODBC 5.2 ANSI Driver}或者Driver = {MySQL ODBC 5.2 UNICODE Driver}

试试吧。