0
我一起工作的以下設置:單MySQL查詢在多個數據庫
考慮兩個MySQL數據庫:abc
和xyz
,每個都有自己的表:abc
。 table_in_abc
和xyz
。 table_in_xyz
。我需要運行一個簡單的MySQL查詢,從table_in_abc
中選擇元素,加入關係爲table_in_xyz
。
在工作臺下面的查詢工作正常:
SELECT AB.* , XY.*
FROM `abc`.`table_in_abc` AB
LEFT JOIN `xyz`.`table_in_xyz` XY ON AB.`ID` = XY`ID`
我想實現在VBA同樣的事情。我能夠在單個數據庫上運行MySQL查詢(請參見下面的示例),但在查詢涉及多個數據庫時無法這樣做。
對單個數據庫的簡單查詢VBA的例子:
Set conn = New ADODB.Connection
conn.Open "DRIVER={MySQL ODBC 5.3 Unicode Driver}" _
& ";SERVER=" & server_name _
& ";DATABASE=" & database_name _
& ";UID=" & user_id _
& ";PWD=" & password _
& ";OPTION=3" '
Set rs1 = New ADODB.Recordset
sqlstr = "SELECT * FROM `abc`.`table_in_abc` WHERE `ID`=" & ID & ";"
rs1.Open sqlstr, conn, adOpenStatic
With Worksheets("Main").Cells(a, 1)
.ClearContents
.CopyFromRecordset rs1
End With
rs1.Close
Set rs1 = Nothing
是在同一個MySQL實例這些數據庫?你也可以添加你的VBA代碼,你做了一個'LEFT JOIN'命令,並且你收到了什麼錯誤?過去我遇到了麻煩,用我的數據類型來運行查詢被截斷。嘗試休息並確認您的查詢字符串。 – nbayly
另請注意,在您的Workbench示例中,您使用'AB'和'XY'而不是'abc'和'xyz'。這只是一個錯字或者它可能是問題的原因。 – nbayly