从 VBA 到 (Google) 云 SQL 数据库建立 ADODB 连接的方法是什么?

What is the method for making an ADODB connection from VBA to a (Google) Cloud SQL database?

连接到云 SQL 似乎与连接到普通 MySQL 数据库不同。

我在 'Public IP address' 之后添加了 'Instance connection name'。

我遇到一个错误:

'Unknown MySQL server host'

Dim Cnn As Object
Set Cnn = CreateObject("ADODB.Connection")
Cnn.Open ("DRIVER={MySQL ODBC 5.3 Unicode Driver};SERVER=xxx.xxx.xxx.xxx\instanceConnectionName;DATABASE=databaseName" & ";USER=user;PASSWORD=abcd")

If Cnn.State = adStateOpen Then
    Debug.Print "Connection"
Else
    Debug.Print "No Connection"
End If
Cnn.Close

我建议使用 SQL Proxy 然后连接就像数据库在您的本地主机中一样。

所以步骤是:

  • 在您的计算机中安装云 SQL 代理
  • 启动云SQL代理
  • 像连接到本地数据库一样连接

代码为:

Dim Cnn As Object
Set Cnn = CreateObject("ADODB.Connection")
Cnn.Open ("DRIVER={MySQL ODBC 5.3 Unicode Driver};SERVER=172.0.0.1;DATABASE=<DATABASENAME>;USER=<USERNAME>;PASSWORD=<PASSWORD>)

If Cnn.State = adStateOpen Then
    Debug.Print "Connection"
Else
    Debug.Print "No Connection"
End If
Cnn.Close

您连接的是哪种数据库?您可以在这里找到各种连接字符串。

https://www.connectionstrings.com/

此外,转到您的 ODBC 驱动程序并查看您已安装的内容。您的代码必须与您安装的代码相匹配。这是我系统上的图像。

因此,例如,您必须安装 'MySQL ODBC 5.3 Unicode Driver',因为这就是您在代码中引用的内容。尝试一下并反馈您的发现和结果。