Aar*_*ras 6 import excel ms-access connection-string
我在同一个Access DB中有两个与不同查询的数据连接.第二个总是失败(无论我先跑哪个).
当我查看数据库时,我注意到它有一个锁定文件,我认为这会导致问题.在我关闭Excel文件之前它一直处于锁定状态.导入完成后,任何人都可以帮我解锁数据库吗?
附加信息:
我正在使用Excel和Access 2010.
错误:
"文本文件规范' MyQuery Link Specification'不存在.您无法使用规范导入,导出或链接."
连接字符串(注意:我正在使用命令类型:表):
Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin
;Data Source=A:\folder\folder\My Database.accdb
;Mode=Share Deny None
;Extended Properties=""
;Jet OLEDB:System database=""
;Jet OLEDB:Registry Path=""
;Jet OLEDB:Engine Type=6
;Jet OLEDB:Database Locking Mode=0
;Jet OLEDB:Global Partial Bulk Ops=2
;Jet OLEDB:Global Bulk Transactions=1
;Jet OLEDB:New Database Password=""
;Jet OLEDB:Create System Database=False
;Jet OLEDB:Encrypt Database=False
;Jet OLEDB:Don't Copy Locale on Compact=False
;Jet OLEDB:Compact Without Replica Repair=False
;Jet OLEDB:SFP=False
;Jet OLEDB:Support Complex Data=False
;Jet OLEDB:Bypass UserInfo Validation=False
Run Code Online (Sandbox Code Playgroud)
最后,根据这篇文章,我尝试将我的模式从"Share Deny None"更改为"Read",但它没有帮助.我也不明白为什么会这样,但我试过了.
编辑:我继续研究这个问题,但找不到解决方案.我已经尝试在我的连接字符串中添加一个额外的语句,ReadOnly = True但没有运气.
我面临着另一个关于数据连接的问题,它的解决方案实际上最终解决了这个长期存在的问题!
我的猜测是秘密在于"MaintainConnection = False":
Dim i As Integer
Dim awc As WorkbookConnection
Dim c As OLEDBConnection
For i = 0 to ActiveWorkbook.Connections.Count
Set awc = ActiveWorkbook.Connections.Item(i)
Set c = awc.OLEDBConnection
c.EnableRefresh = True
c.BackgroundQuery = False
c.Reconnect
c.Refresh
c.MaintainConnection = False
Next i
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11875 次 |
| 最近记录: |