MySQL通过HTA应用程序查询

时间:2014-02-05 00:27:02

标签: mysql odbc mysql-connector hta

我遇到了一个奇怪的情况,希望有人可以提供帮助。

我正在使用'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

1 个答案:

答案 0 :(得分:2)

我能够解决这个问题,问题是HTA和ODBC驱动程序的32/64位特性。

我安装了64位ODBC驱动程序,我的HTA作为32位应用程序运行。

运行%Windrir%\ System32 \ mshta.exe或安装32位驱动程序。

我选择安装MySQL ODBC驱动程序的32Bit变种来解决问题。