【发布时间】:2011-08-16 18:18:06
【问题描述】:
谁能告诉我 OleDB 连接字符串用于读取其他用户打开的 Excel 文件 exclusively?
我尝试了以下对我不起作用的连接字符串:-
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Mode=Read;Extended Properties=\"Excel 8.0;HDR=YES;ReadOnly=true;\"";
此连接字符串被其他用户打开时抛出以下异常:-
The Microsoft Jet database engine cannot open the file ''. It is already opened exclusively by another user, or you need permission to view its data.
注意事项:
- Excel 文件保持共享,以便多个用户可以打开它。
- 使用的提供程序:- Microsoft.Jet.OLEDB.4.0
- Excel 文件类型:- MS Excel 97-2003 工作表
- 不允许复制文件
【问题讨论】:
-
如果您只想从文件中读取,您可以先创建一个Excel文件的副本,然后使用它删除。
-
由于多个用户正在编辑excel,如果我们复制文件会产生问题。
-
是的,我试过了。第一个用户加载包含 100 条记录的复制文件。在他保存它之前,另一个用户向文件中添加了一条记录,并将该文件保存为 101 条记录。现在第一个用户更新第 100 条记录并将复制的文件保存在主文件的顶部。所以最后主文件不会有101条记录。
-
好吧,我说:如果你只想从文件中读取...。当然,如果你也将数据写入 Excel 文件,它就不会起作用。
-
那么有什么办法可以处理这种情况吗?
标签: oledb oledbconnection oledbexception