adodb - 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$]"
谢谢!
解决方案
因为您需要关闭连接才能释放文件句柄。
推荐阅读
- java - 放心测试——API request 401 bad request
- matlab - .mat 文件运行批处理 (RSIM) 中的查找表
- javascript - 通过滚动位置实时添加/删除动画类?
- javascript - href 导航栏中的 div
- android - How to scan all bluetooth devices every second (or less)
- visual-studio - 如何在 Visual Stdio 中更改 CopyRetryCount 和 CopyRetryDelayMilliseconds 值
- wordpress - 如何动态过滤分类选择 Wordpress 中的选择?
- javascript - 如何访问具有特定 css 属性的特定 div
- gitlab - 重启后 GitLab Runner 不会自动接手工作
- mingw-w64 - 我在哪里可以找到 `mingw64/mingw-w64-x86_64-gcc-libs` 8.2.0-3 的源代码包?