我遇到了一个奇怪的情况,希望有人可以提供帮助。
我正在使用'MySQL ODBC 5.1 Driver'与MySQL数据库进行通信,虽然以下代码在.vbs文件上单独运行时工作正常,当我在HTA中使用相同时我得到错误
错误:[Microsoft] [ODBC驱动程序管理器]未找到数据源名称且未指定默认驱动程序
我将相同的代码放在.vbs文件中,并使用objShell.run命令通过HTA运行VBS文件仍然是同样的问题。
当VBS文件独立运行或通过CMD运行时,它可以正常显示内容。有什么想法吗?
Call Query
Sub Query
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objConnection = CreateObject("ADODB.Connection")
Set objRecordSet = CreateObject("ADODB.Recordset")
adOpenStatic = 3
adLockOptimistic = 3
objConnection.Open _
"Driver={MySQL ODBC 5.1 Driver};Server=[Some Address];Database=bldb;User=usr;Password=pass;"
objRecordSet.Open "SELECT * FROM Clients Where Machine Like 00000" & , _
objConnection, adOpenStatic, adLockOptimistic
Do While Not objRecordSet.EOF
Company = objRecordSet (1)
Contact = objRecordSet (2)
Phone = objRecordSet (3)
objRecordSet.MoveNext
Loop
objRecordSet.Close
objConnection.Close
Set objRecordSet=Nothing
Set objConnection=Nothing
End Sub
答案 0 :(得分:2)
我能够解决这个问题,问题是HTA和ODBC驱动程序的32/64位特性。
我安装了64位ODBC驱动程序,我的HTA作为32位应用程序运行。
运行%Windrir%\ System32 \ mshta.exe或安装32位驱动程序。
我选择安装MySQL ODBC驱动程序的32Bit变种来解决问题。