Строка подключения OleDB для чтения файла Excel, открытого исключительно другим пользователем - PullRequest
6 голосов
/ 02 мая 2011

Может кто-нибудь сказать мне строку подключения 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.

ПРИМЕЧАНИЕ:

  1. Файл Excel хранится в общем доступе, поэтому его могут открыть несколько пользователей.
  2. Используемый поставщик: - Microsoft.Jet.OLEDB.4.0
  3. Тип файла Excel: - MS Excel 97-2003 Рабочий лист
  4. Копирование файла НЕ разрешено

1 Ответ

0 голосов
/ 30 июня 2012

Я бы посоветовал вам использовать фоновый поток, чтобы повторить попытку открытия соединения через некоторый промежуток времени, а когда вы получите соединение с источником данных Excel, прочитайте все ваши данные в память и немедленно закройте соединение, чтобы процессы могут получить доступ к файлу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...