gpt4 book ai didi

vb.net - 创建后如何释放 MS Access LDB 锁定文件

转载 作者:行者123 更新时间:2023-12-05 08:02:08 27 4
gpt4 key购买 nike

对不起,文字太长了。

问题:我很难在下面的代码段中删除由 ADOX 的“CREATE”方法生成的 LDB。请提供一些解决方案的提示/指针,谢谢。

目标:创建(即时)一个新的 Access 数据库,然后将数据(如 Arena 模块)导出到新创建的数据库。

预期:新创建的 Access 数据库应该能够被一些外部操作使用,比如 Access.exe,在子程序结束后并且不退出当前的 VB 程序。

  1. 我测试过“Arena 代码”对 ldb 文件的创建/发布没有任何作用。

  2. 我在连接字符串中测试了“独占模式”,但是 Access 文件仍然被vb程序锁定。

  3. 我都是在VB环境下测试的,直接调用Explorer生成的,结果一样。

  4. 其他数据库格式不是我的选择。 (由于竞技场导出限制)

  5. 它不是网络应用。

代码:

Sub Method1()
Dim logs As New System.Collections.Generic.List(Of String)
Dim arenaApp As Arena.Application = Nothing
Try
logs.Add("Creating access database")
Try
Dim cat As New ADOX.Catalog
cat.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=new.mdb;Jet OLEDB:Engine Type=5")
cat = Nothing
Catch ex As Exception
logs.Add(ex.Message)
logs.Add(ex.StackTrace)
Finally
logs.Add("End creating access database")
End Try
'Opening Arena model"
arenaApp = New Arena.Application()
arenaApp.Models.Open(fileName)
arenaApp.ActiveModel.ExportModules("", "new.mdb", "TableName", "", Arena.smExportType.smExportAll)
Catch ex As Exception
logs.Add(ex.Message)
logs.Add(ex.StackTrace)
Finally
...
End Try
End Sub

平台:

  • Windows 7 64 位,Office 2010 (32)
  • VB 2010 表达
  • 图书馆:MS ADO 分机。 2.8 用于 DDL 和安全

最佳答案

如何在创建后关闭 mdb,然后重新打开它?
我不是 VS 专家,但在 Access 中,“设计模式”中的许多东西将 mdb 置于独占模式......我怀疑你必须先关闭它才能切换回来。

关于vb.net - 创建后如何释放 MS Access LDB 锁定文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9327140/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com