我在一个名为MicroStation的绘图程序中使用VBA。程序只需连接到Access数据库文件即可读取数据并返回到MicroStation。我从connectionstrings.com获得的连接已经使用了一段时间,但后来就停止了。我不知道除了可能的安全设置之外还有什么变化,但我读过的所有帖子似乎都没有指明这一点。
这是我之前使用的连接字符串。如果我在谷歌上搜索这个问题,加上搜索StackOverflow,90%的帖子都包含这个连接字符串,没有问题。
Set conn = New ADODB.Connection
conn.ConnectionString = "Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=" & sDBFullName & ";Uid=Admin;Pwd=;"
"Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=" & sDBFullName & ";" & _
"Jet OLEDB:Database Password=" & cPassword & ";Persist Security Info=False"由于公司已经升级到Office 2016,我认为可能是连接字符串,所以我找到并使用了这个更新的字符串。
Set conn = CreateObject("ADODB.Connection")
conn.ConnectionString = "Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=" & sDBFullName & ";Uid=Admin;Pwd=pwd;"当使用顶部连接字符串时,MicroStation将简单地崩溃,没有错误消息。如果我使用第二个,我会收到错误消息“灾难性失败”。在调试时,我可以将范围缩小到conn.open
这两个连接字符串都可以在多台PC上工作,但不能在工作环境中工作。
所以我的问题是。是什么导致了这些问题?我应该注意什么?我正在努力弄清楚为什么会发生这种情况。用户可以使用access读取和写入数据库,所以我不认为这是权限问题,它在过去一直工作得很好(但我不能得到一个直接的答案,因为发生了什么变化)我还去创建一个简单的VB.NET程序来连接到数据库的步骤,没有任何问题。这导致我排除了损坏的数据库连接器,或任何与Access有关的东西。我很乐意发布整个模块,如果它有助于追踪问题。
提前感谢,我真的搞不懂这个问题!
发布于 2019-07-10 15:43:28
上周微软将Office升级到2016-32位后,我一直在为Microstation中完全相同的错误而苦苦挣扎。我终于能够通过为用户安装Microsoft Sharepoint Designer 2013来解决这个问题。它使Microsoft.ACE.oledb.15.0从Microstation SS-3/4/10 32位再次与ACCDB文件对话。
https://stackoverflow.com/questions/47052940
复制相似问题