我在名为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上运行,但不能在工作环境中工作。
所以我的问题是。什么可能导致这些问题?我应该注意什么?我正在努力弄清楚为什么会这样。 用户能够阅读&使用访问权限写入数据库,所以我不认为它是一个权限问题,它在过去一直运行正常(但我无法得到关于改变的内容的直接答案) 我还去了创建一个简单的VB.NET程序连接到数据库的步骤,没有任何问题。这导致我排除了损坏的数据库连接器或任何带有Access的连接器。我很乐意发布整个模块,如果它有助于追踪问题。
先谢谢,我真的很困惑这个问题!
答案 0 :(得分:0)
上周,在IT部门将Microsoft Office升级到2016-32bit之后,我一直在为Microstation中的完全相同的错误苦苦挣扎。我终于可以通过为用户安装Microsoft Sharepoint Designer 2013来解决此问题。它使Microsoft.ACE.oledb.15.0再次从Microstation SS-3 / 4/10 32Bit与ACCDB文件进行通信。