Конфликты Ado

Тема в разделе "Lotus - Программирование", создана пользователем NickProstoNick, 3 окт 2008.

  1. NickProstoNick

    NickProstoNick Статус как статус :)

    Регистрация:
    22 авг 2008
    Сообщения:
    1.766
    Симпатии:
    39
    И снова всем привет!
    У меня очередной вопрос. Но сначала прелюдия :blink:
    Есть функция в библиотеке, эта функция вызывается в 2-х агентах. Функция работает с XLS-файлом(файл один и тот же для обеих агентов) через ADO (только читаю)
    Есть момен что агенты могут обращаться к файлу одновременно и вываливается вот такая ошибка
    Error (201 ) -> Operation is disallowed in this session
    Как ее побороть и чтоб все работало?
     
  2. Yakov

    Yakov Гость

    Не давайте двум агентам работать с файлом одновременно. :)
     
  3. NickProstoNick

    NickProstoNick Статус как статус :)

    Регистрация:
    22 авг 2008
    Сообщения:
    1.766
    Симпатии:
    39
    Ну это и так понятно.
    А интересней предложений нет?
     
  4. Kee_Keekkenen

    Kee_Keekkenen Well-Known Member

    Регистрация:
    5 сен 2006
    Сообщения:
    616
    Симпатии:
    4
    напишите простенькую функцию, которая перед открытием проверяла бы открыт файл или нет..
     
  5. NickProstoNick

    NickProstoNick Статус как статус :)

    Регистрация:
    22 авг 2008
    Сообщения:
    1.766
    Симпатии:
    39
    просто вот какой интересный нюанс... процедура доступа одна и та же... и в ней все объекты по завершению работы освобождаются. Тогда вопрос, откуда может появляться данный конфликт?
    Сегодня, кстати, новая ошибка
    Microsoft JET Database Engine: 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
     
  6. SkinGreek

    SkinGreek Гость

    Чесно говоря не помню может ли адо открывать файлы в оптимистичной блокировке. Но уверен что дело в ней. Попробуйте настроить RS при открытии в оптимистичную блокировку, и желательно сказать RS что вы его пользуете только для чтения.
    О настроуке LockType моно посмотреть тут
     
  7. NickProstoNick

    NickProstoNick Статус как статус :)

    Регистрация:
    22 авг 2008
    Сообщения:
    1.766
    Симпатии:
    39
    Дело в том, что ругается не рекордсет, а само соединение... до рекордсета даже не доходит
     
  8. SkinGreek

    SkinGreek Гость

    значит соединение настроено как эксклюзивное.
    попробуйте настроить cnn.Mode=adModeRead
    Но повторюсь, я не знаю поддерживает ли драйвер соединения с XLS-файлом это режим.
     
Загрузка...

Поделиться этой страницей