首页 > 解决方案 > ADODB.Recordset 锁定我的本地源文件

问题描述

我在我的 PC 上使用本地 Excel 文件作为数据库。我的加载项将此数据库文件中的数据提取到新生成的 excel 文件中。当我的加载项打开 ADODB 连接和 Recordset 时,它会自动为我锁定源数据库文件(我可以以只读模式打开它)。这没什么大不了的,但我很好奇为什么。即使我用乐观锁打开记录集,它仍然将文件锁定为只读。应该是这样吗?(而且,我的加载项没有修改任何数据,它不应该)

sConnectionStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & sDBFile & _
                 ";Extended Properties=""Excel 12.0;HDR=YES;"";"

DBConnection.Open sConnectionStr
    
rs.Open sQuery, DBConnection, adOpenDynamic, adLockOptimistic

PS 还有一个快速的问题:如何从特定表中选择 *,而不是整个表?目前我正在获取整张纸:

sQuery = "SELECT * FROM [Existing$]"

谢谢!

标签: adodb

解决方案


因为您需要关闭连接才能释放文件句柄。


推荐阅读