2017-08-10 197 views
-1

我想使用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 

任何人都可以告诉我做错了什么,我怎么能打开连接?

提前许多感谢, 迈克尔

+0

能否请您出示参数,如连接字符串。 – Xenobiologist

+0

我没有使用连接字符串,但括号中的参数(认为它是一种选择)。它们如下: –

+0

(无法保存更改)它们如下所示: $ sDriver = {MySQL ODBC 3.51驱动程序}(在注册表='已安装'中找到安装的和HKLM条目) $ sServer ='localhost'( MySQL运行并在3306上侦听) $ sDatabase ='test'(MySQL中的DB名称) $ sUsername ='admin' $ sPassword ='' –

回答

0

我发现的原因和可能解决问题。 我的自定义函数了$ sDriver具有以下(错误)默认值:

[...]$sDriver = "(MySQL ODBC 3.51 Driver)", [...] 

其中括号(),而不是括号{}中使用。正确的是:

[...]$sDriver = "{MySQL ODBC 3.51 Driver}", [...] 

笔记本电脑的屏幕是如此之小我没有意识到这一点。但是插入一个工作的连接字符串,然后将它与字符串char的结果进行比较,我认识到了差异。

我希望这个现在记录的事故将帮助其他人在我的情况。

BR 迈克尔