AutoIT:ADODB.Connection方法'打开'缺少?
问题描述:
我想使用AutoIT通过ADODB对象访问Maria DB。 创建ADODB.Connection对象似乎正常工作。但由于某些原因,我找不到,开放方法失败。我不是AutoIT的专家,但对我来说,它看起来不像是对象有争议的问题。AutoIT:ADODB.Connection方法'打开'缺少?
代码的相关行是:未达到
$objConn = ObjCreate("ADODB.Connection")
ConsoleWrite("ADODB conn Error: " & @error & " - Typ: " & VarGetType($objConn) & @crlf)
$objConn.open ("DRIVER=" & $sDriver & ";SERVER=" & $sServer & ";DATABASE=" & $sDatabase & ";UID=" & $sUsername & ";PWD=" & $sPassword)
ConsoleWrite("conn Error: " & @error & @crlf)
第二ConsoleWrite。输出和错误消息是:
ADODB conn Error: 0 - Typ: Object
"C:\Users\mischneider\Documents\Automation_Base\udf\mysql.au3" (29) : ==> The requested action with this object has failed.:
$objConn.open ("DRIVER=" & $sDriver & ";SERVER=" & $sServer & ";DATABASE=" &
$sDatabase & ";UID=" & $sUsername & ";PWD=" & $sPassword) $objConn^ ERROR
任何人都可以告诉我做错了什么,我怎么能打开连接?
提前许多感谢, 迈克尔
答
我发现的原因和可能解决问题。 我的自定义函数了$ sDriver具有以下(错误)默认值:
[...]$sDriver = "(MySQL ODBC 3.51 Driver)", [...]
其中括号(),而不是括号{}中使用。正确的是:
[...]$sDriver = "{MySQL ODBC 3.51 Driver}", [...]
笔记本电脑的屏幕是如此之小我没有意识到这一点。但是插入一个工作的连接字符串,然后将它与字符串char的结果进行比较,我认识到了差异。
我希望这个现在记录的事故将帮助其他人在我的情况。
BR 迈克尔
能否请您出示参数,如连接字符串。 – Xenobiologist
我没有使用连接字符串,但括号中的参数(认为它是一种选择)。它们如下: –
(无法保存更改)它们如下所示: $ sDriver = {MySQL ODBC 3.51驱动程序}(在注册表='已安装'中找到安装的和HKLM条目) $ sServer ='localhost'( MySQL运行并在3306上侦听) $ sDatabase ='test'(MySQL中的DB名称) $ sUsername ='admin' $ sPassword ='' –