VBA/ADODB 错误地将数据库视为只读

VBA/ADODB incorrectly sees the database as read-only

I asked a similar question here.

第二段代码之前运行得很好。但是现在由于某种原因我收到了只读错误。下面我又贴了一遍

Dim oConn As New ADODB.Connection
Dim cmd As New ADODB.Command

Set oConn = New ADODB.Connection
oConn.Open "DRIVER={MySQL ODBC 5.1 Driver};" & _
    "SERVER=server;" & _
    "DATABASE=database;" & _
    "USER=user;" & _
    "PASSWORD=password;" & _
    "Option=3"


Set cmd = New ADODB.Command
cmd.ActiveConnection = oConn

cmd.CommandText = strSQL
cmd.Execute

oConn.Close
MsgBox ("Query Successful")

我试着浏览文档,但没有发现任何有用的信息。我还主要在数据库上做了一个插入,它仍然 运行 没问题,所以数据库不是只读的。

怎么了?有没有办法强制 read/write 属性?

MySQL 的 ODBC 5.1 驱动程序(默认提供)有很多问题。和你一样的情况,工作得很好,有一天,很多问题没有任何修改......但是通过更新 MySQL Connector 的最新版本 8.0.

解决了

您可以从“开始”菜单进入 "ODBC Data Source Adminsitrator",如果您有最后一个面板,请检查您的 "Drivers" 面板。如果没有,可以到官网MySQL下载here。 然后将 DRIVER={MySQL ODBC 5.1 Driver} 替换为 DRIVER={MySQL ODBC 8.0 Driver}.

希望对您的问题有所帮助。

好吧,我基本上只是创建了一个新端点,它是我旧服务器的副本,将 server= 设置为其他内容,并且它起作用了。两台服务器具有相同的权限,所以我不确定为什么,但这是我对将来遇到此问题的任何人的修复。