Ace oledb连接关闭文件仍在使用中错误
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ace oledb连接关闭文件仍在使用中错误相关的知识,希望对你有一定的参考价值。
[最近我在Excel 2016上遇到问题。在excel 2016环境中关闭连接字符串后,系统仍然锁定excel,使其无法编辑(例如正在使用该文件)。但代码在excel 2007和2010环境下运行良好(连接关闭后,文件已准备就绪,可供我打开和编辑下一个功能)。
在excel 2016环境中,文件似乎需要自动锁定后等待75秒,但这在excel 2007和2010环境中不会发生]
我应该在哪里更改?
Public Function gf_ExcelConnection(ByRef strLocation As String, ByRef sWorksheetName As String, _
ByRef lExcelDataset As DataSet, ByRef iLastRow As Integer, _
ByRef sColumn As String) As Boolean
Dim strExcelConn As String = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" & strLocation & _
"; Extended Properties=""Excel 12.0 Xml;HDR=YES;IMEX=1;"""
Dim ExcelConn As New System.Data.OleDb.OleDbConnection(strExcelConn)
Dim ExcelCommand As OleDbCommand = New OleDbCommand
Dim ExcelDataAdapter As New OleDbDataAdapter
Try
gf_ExcelConnection = True
ExcelCommand.CommandText = "SELECT * FROM [" + sWorksheetName + "A1:" & sColumn & iLastRow & "] "
ExcelDataAdapter.SelectCommand = ExcelCommand
ExcelDataAdapter.SelectCommand.Connection = ExcelConn
MsgBox(103)
ExcelConn.Open()
ExcelDataAdapter.Fill(lExcelDataset, "ImportTable")
ExcelConn.Close()
ExcelConn.Dispose()
MsgBox(104)
Catch ex As Exception
gf_ExcelConnection = False
gclsError.gf_ErrorHandler("InvalidIncorrectFile", Windows.Forms.MessageBoxButtons.OK, Windows.Forms.MessageBoxIcon.Error, False)
ExcelConn.Close()
Finally
ExcelConn.Close()
ExcelConn.Dispose()
ExcelConn = Nothing
MsgBox(105)
End Try
End Function
[最近我在Excel 2016上遇到问题。在excel 2016环境中关闭连接字符串后,系统仍然锁定excel,使其无法编辑(例如正在使用该文件)。但是代码正常工作...
答案
检测到问题并解决
以上是关于Ace oledb连接关闭文件仍在使用中错误的主要内容,如果未能解决你的问题,请参考以下文章
microsoft.ace.oledb.12.0 提供程序未注册错误从后面的代码修复
使用 ACE OLEDB Provider 创建 Excel 文件的数据类型问题
Microsoft.Jet.OLEDB.4.0和Microsoft.ACE.OLEDB.12.0的区别
Microsoft.Jet.OLEDB.4.0和Microsoft.ACE.OLEDB.12.0的区别(转)