Параллельно с использованием базы данных Paradox с c # JET и другой программой - PullRequest
1 голос
/ 02 января 2012

Я ищу, как получить доступ к базе данных Paradox с помощью C #.

Проблема заключается в том, что на рабочей станции полностью готова запущенная программа, которая использует целевую базу данных.Пока он не запущен, oleDbConnection.Open() выдает исключение.

Если я не запускаю программу в .NET с того же компьютера, но на другой рабочей станции Windows и использую общую папку, все работает нормально.Оригинальная программа имеет доступ для чтения / записи, и у меня есть доступ только для чтения, когда мне нужно.Конечно, на втором компьютере NET DIR указывает на правильный каталог в общей папке.

Если я использую общую папку и запускаю обе программы (мою и оригинальную) на одном компьютере и настраиваю BDE для использования общей папкиНе удается открыть подключение папки из C # к базе данных Paradox.

Я пытался запустить программу из .NET с правами учетной записи администратора, но это не помогает.

Поэтому я беру еще одну программу, Редактор базы данных Paradox и попробуйте отредактировать одну из таблиц во время работы оригинальной программы.На правах пользователя выдает ошибку при доступе к сетевой папке.Но при работе с правами администратора я могу успешно читать базу данных, а также, когда только редактор баз данных Paradox работает только с правами учетной записи пользователя.

1 Ответ

0 голосов
/ 04 января 2012

Похоже, у вас могут быть проблемы с механизмом блокировки Paradox.Когда Paradox (BDE в вашем случае) обращается к таблице, он устанавливает блокировку одного или другого типа на таблицу, создавая и делая запись в специальном файле блокировки в каталоге таблицы.Они управляются одним файлом Paradox.net в определенном месте.

Я думаю, вы говорите, что текущее приложение использует BDE, и вы можете использовать что-то другое.Я не уверен, что вы можете сделать это, но если бы вы могли, вам бы пришлось использовать те же файлы блокировки и файл Paradox.net.Кроме того, вам придется использовать ту же логику версии парадокса.Было несколько изменений в этом механизме блокировки в нескольких версиях Paradox.Попробуйте запустить каждую программу отдельно и посмотреть, какие файлы она создает и где.Они должны быть одинаковыми.

Я не думаю, что личный каталог так важен.На самом деле 2 пользователя не могут иметь один и тот же личный каталог.

...