Ошибки базы данных в демонстрационных программах Quantum Grid в Delphi XE Professional - PullRequest
2 голосов
/ 06 ноября 2011

Каждый раз, когда я открываю одну из демонстраций Quantum Grid в Delphi XE Pro (в Windows 7 32-разрядная версия), для каждой таблицы (я думаю) в проекте отображается следующая ошибка:

сообщение об ошибке http://www.tranglos.com/img/qgerror.png

Сообщение:

Network initialization failed.
File or directory does not exist.
File: C:\PDOXUSRS.NET
Permission denied.
Directory: C:\.

Я понимаю проблемы с правами записи в c: \, но в результате я могу собрать и запустить демонстрационную версиюпроекты, данные не отображаются, что делает демонстрации довольно бесполезными.А какая база данных в любом случае записывает свою конфигурацию в каталог c: \ в 21 веке?:) (Да, я очень мало знаю о базах данных Paradox, но я тоже никогда не буду их использовать. Я просто хочу научиться пользоваться сеткой.)

Использование BDE Administrator Я пытался изменитьзначение Paradox "NET DIR" для папки с разрешениями на запись на диске C.Результат: теперь таблицы базы данных не могут найти свои данные:

Path not found.
File: C:..\..\Data\GENRES.DB.

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

Есть ли способ обойти эту проблему, чтобы демо-версии могли правильно загружать свои образцы данных?

Ответы [ 3 ]

1 голос
/ 06 ноября 2011

Правильно ли вы установили BDE?Следует использовать файлы DBDEMOS.Вы видите такой псевдоним в утилите администрирования BDE?Можете ли вы открыть эту базу данных в одной из демонстраций Delphi?

BDE - это не база данных XXI века, она была разработана двадцать лет назад и никогда не обновлялась в последнее время.Это устаревшая технология, но поскольку она поставляется с каждым выпуском Delphi с известной базой данных, она все еще часто используется в демоверсиях, поскольку не нужно устанавливать ничего нового.

В любом случае этот файл не является файлом конфигурации.Это файл блокировки общего доступа, позволяющий нескольким пользователям одновременно использовать базу данных.Поскольку это файловая база данных без центрального сервера, она должна использовать такие общие файлы.Обычно его позиция изменяется на общую сетевую папку, но по историческим причинам по умолчанию используется C: \.

В любом случае это не только BDE, все еще пытающийся записать в каталоги prong.Я все еще вижу полный набор приложений, пытающихся записать в C: \ (особенно в журналы) или в другие позиции только для чтения.

0 голосов
/ 24 августа 2012

Я знаю это сообщение из наших собственных приложений.Это связано с мерами безопасности, введенными в Windows Vista.Операционная система, пытающаяся защитить критические файлы, запрещает доступ к ним.Есть способ, как обойти этот механизм без ущерба для безопасности.Попробуйте запустить приложение в режиме совместимости.Когда приложение работает в режиме совместимости, операции чтения / записи из / в системные папки перенаправляются в «безопасные» каталоги, расположенные в C: \ Users [текущий пользователь] \ AppData \ Local \ VirtualStore.Больше информации о http://www.windowsecurity.com/articles/Protecting-System-Files-UAC-Virtualization-Part1.html.

0 голосов
/ 06 ноября 2011

Использование BDE Admin для изменения местоположения для PDOXUSRS.NET помогло, но этого было недостаточно. DevExpress правильно сделал, указав относительную папку для местоположения данных, и относительная папка выглядит совершенно нормально, но по какой-то причине БД не может ее найти.

Решение: в папке \ Demos \ найдите все * .dfm файлы, содержащие строку

..\..\Data

и замените эту строку абсолютным путем к папке demos. После этого все демо-версии открываются правильно.

...