2017-08-10 182 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 邁克爾