Здравствуйте!
На одном и том же компьютере, но под другой учетной записью, попытался войти в Инфо-Бухгалтер 8. Начались проблемы.
Сначала был долгий поиск ключа, нахождение и предложение перезаписать ключ (код ответ и код вопрос). Техподдержка рекомендовала сделать это.
Далее стала возникать ошибка: Не возможен доступ к PDOXUSRS.NET. Удаление этого файла не помогло.
В bde на всех компах конфиг одинаковый. Другие пользователи входят без проблем.
На этом компе под другой учеткой тоже все нормально.
Подскажите, пожалуйста, в чем проблема и как её решить?
Разработчики, пожалуйста, откликнитесь!
Спасибо!
У меня установлена Windows 7 и недавно понадобилось создать базу данных Paradox 7.0. Я создал базу данных, сохранил ее в каталог с программой, выложил на форму компонент Table, указал путь к базе, и при установке свойства Active в True, происходила ошибка. В ошибке говорилось, что файл PDOXUSRS.NET отсутствует на диске C.
Что же это за файл? Этот файл хранит информацию о всех пользователях базы, и создается автоматически СУБД. Но в Windows Vista и Windows 7 доступ к корню диска запрещен, и следовательно создать не получается.
Выход я нашел простой, создал в корне диска папку (например, «DB»), и на всякий случай дал полный доступ группе «Пользователи» к этой папке. Далее заходим в Панель управления -> BDE Administrator.
Далее заходим во вкладку «Configuration», там проходим по пути: Configuration -> Drivers -> Native -> PARADOX. В правой колонке изменяем свойство NET DIR на D:DB и жмем кнопку Apply с изображением синей стрелочки (См. рисунок выше).
Далее перезагружаем операционную систему (хватит выхода из системы). И все заработало.
Кстати, как не странно, я поменял обратно путь на C: и ошибки не происходит.
Pdoxusrs net что это за файл
Есть программа написанная в D7, она работает с базой данных Paradox
Мне необходимо создать два инсталлятора:
1. для сетевого диска
2. для рабочей станции
С первым все просто, инсталлятор копирует все файлы программы на сетевой ресурс, а со вторым сложнее, надо на каждой рабочей станцие произвести установку BDE и создание алиаса. С установкой BDE проблем нет, не знаю как настроить алиас. Я так понимаю надо выводить диалоговое окно, где пользователь будет выбирать путь нахождения базы данных на сетевом ресурсе (типа как в руссификаторе). Подскажите как это лучше сделать и в каком инсталляторе, я сейчас использую Inno Setup.
Отслеживать ответы на этот вопрос по RSS
18-06-2008 15:57
>>> Т.е. на одновременный доступ к приложению значение False никак не повлияет?
Из справки BDE Administrator: Перевод: Из файла: Program FilesCommon FilesBorland SharedBDEBDE32.HLP Перевод: Другими словами: эту опцию нужно установить в True только в случае, если, например, вам нужно одновременно работать с одними и теми-же dbf-файлами из программы, написанной на Delphi и из старой досовской программы, написанной на Clipper. При работе с базой данных только программ, написанных на Delphi, устанавливать эту опцию в True нет необходимости. |
17-06-2008 11:16
LOCAL SHARE по умолчанию имеет значение False. Насколько я понимаю, это и есть штатный режим, изменять который нет необходимости. Устанавливать LOCAL SHARE в True может потребоваться только при работе с базой данных одновременно из BDE-приложений и не-BDE-приложений, что в вашем случае вряд ли имеет место.
Т.е. на одновременный доступ к приложению значение False никак не повлияет? |
14-06-2008 18:24
>>> можно ли таким же образом настроить LangDriver и LocalShare в BDE
При создании таблицы в Database Desktop для неё указывается Table Language. Для русского языка это ‘Pdox ANSI Cyrillic’. При работе с таблицей эта настройка перебивает все остальные и работа с этой таблицей идёт с использованием этого драйвера. В запросах вроде бы используется драйвер исходной таблицы. Поэтому настройки BDE в отношении языка быстрее всего можно оставить по умолчанию. Я в такие дебри раньше не углублялся, поэтому утверждать наверняка не буду, поскольку возможны какие-то нюансы, но на первый взгяд всё выглядит именно так. нашла статьи про LangDriver, но насколько я поняла даже если прописать его настройку при старте программы, то после этого программу необходимо будет перезапустить, можно ли как-то без этого обойтись или лучше вообще вручную это настраивать? На мой взгляд, при первом запуске программы вполне допустимо выдать сообщение и попросить перезапустить программу. Это как крайний, но вполне допустимый случай. Насколько я понял, вопрос собственно установки BDE вы решили, но на всякий случай я всё-таки приведу ссылку: »вопрос КС №27022« |
11-06-2008 13:34 | Сообщение от автора вопроса
Бел Амор спасибо огромное тебе за помощь, у меня последний вопрос можно ли таким же образом настроить LangDriver и LocalShare в BDE, нашла статьи про LangDriver, но насколько я поняла даже если прописать его настройку при старте программы, то после этого программу необходимо будет перезапустить, можно ли как-то без этого обойтись или лучше вообще вручную это настраивать? |
03-06-2008 07:24
Я так поняла Session.NetFileDir := ExtractFileDrive(Application.ExeName) + ‘’; кидает файл PDOXUSRS.NET в корневой каталог диска, на который прога ставится?
Да. Только не кидает, а предписывает создавать его в этом каталоге или использовать уже существующий, если он там есть. PDOXUSRS.NET — это временный файл. procedure TForm1.FormCreate(Sender: TObject); Ещё раз хочу обратить внимание на то, что программы, работающие с одной базой данных через BDE должны: 1. Для доступа к базе данных использовать полностью одинаковый путь (включая букву диска). Чтобы продемонстрировать это на практике, я провёл небольшой эксперимент, который вы можете повторить: 1. Сделал каталог C:TEST_BDE и скопировал туда тестовую программу, использующую вышеприведённый код для назначения путей. subst v: C:TEST_BDE 3. Запустил два экземпляра тестовой программы: один — с диска V: , а другой — с диска W: При этом использовался один и тот-же файл PDOXUSRS.NET, но доступ к базе данных осуществлялся по разным путям (не совпадали буквы дисков). Блокировки записей не происходило. BDE не препятствовал редактированию одной и той-же записи сразу из двух программ. |
02-06-2008 13:52 | Сообщение от автора вопроса
Разобралась, это Vista блокировала доступ к диску C: Поставила на другой и все заработало. Я так поняла Session.NetFileDir := ExtractFileDrive(Application.ExeName) + ‘’; кидает файл PDOXUSRS.NET в корневой каталог диска, на который прога ставится? |
02-06-2008 13:37
Блин при запуске все равно ошибку выдает:( Network initialization failed File or directory does not exist File C:PDOXUSRS.NET Permission denided Directory C:. |
02-06-2008 09:55
Хм. Странно. Два перевода строк съелись. Возможно, с каким-то тэгом совпало. Повторим, заменив русской буквой:
. например Х:, либо через сетевое имя: . приведёт к назначению NET DIR: |
02-06-2008 07:45
‘\CompNameSharedDirName’ Что это за путь? UNC — Universal Naming Convention — соглашение о сетевых именах Если на компьютере Server1 имеется каталог C:CommonPrograms, к которому открыт общий доступ под именем CommonPrograms, то обращаться к этому каталогу с других компьютеров можно либо назначив сетевому ресурсу букву, например X:, либо через сетевое имя: приведёт к назначению NET DIR: |
02-06-2008 05:22 | Сообщение от автора вопроса
‘\CompNameSharedDirName’ Что это за путь? |
02-06-2008 04:01
То есть если к примеру сетевой ресурс, на котором находится программа у всех пользователей обозначен разными сетевыми дисками, то программа работать не будет или я неправильно поняла?
В файле PDOXUSRS.NET хранится информация о блокировках. Если буквы будут разные, то BDE не поймёт, что блокировка относится к одной и той-же таблице. Возможно, более безопасным способом запуска будет указание не через диск, а через UNC: В этом случае разночтений быть не должно: NetFileDir = ‘\CompNameSharedDirName’ |
02-06-2008 03:34 | Сообщение от автора вопроса
Только надо учесть, что все пользователи должны подключаться одинаково: 1. Если через имя компьютера — то все через имя компьютера. 2. Если через букву — все через букву, причём у всех буква должна быть одинакова. То есть если к примеру сетевой ресурс, на котором находится программа у всех пользователей обозначен разными сетевыми дисками, то программа работать не будет или я неправильно поняла? |
01-06-2008 13:42
Как по аналогии: прописать путь к директории Net DIR? Только надо учесть, что все пользователи должны подключаться одинаково: |
01-06-2008 08:32 | Сообщение от автора вопроса
Как по аналогии:
Database1.Params.Values[‘PATH’] := прописать путь к директории Net DIR? |
20-05-2008 06:24 | Комментарий к предыдущим ответам
Бел Амор Огромное спасибо за помощь! Проблема решена! |
20-05-2008 05:59
1. Узнать путь к каталогу базы данных.
2. Создать временный алиас.
Если исполняемый файл запускается с сервера и расположение каталога базы данных детерминировано относительно него, то этот каталог легко найти в рантайме и нет необходимости его где-то прописывать.
Как это сделать:
1. Помещаем на дата-модуль TDataBase и всё остальное как обычно.
2. Двойным кликом по TDataBase открываем окно параметров
3. В нём заполняем поля:
Name — SUPER_DB — имя базы данных (временный алиас)
Driver name — STANDARD
Alias name — не заполняем
4. Нажимаем кнопку Defaults, список параметров заполняется параметрами по умолчанию:
PATH=
DEFAULT DRIVER=PARADOX
ENABLE BCD=FALSE
5. Указываем относительный путь к базе данных:
PATH= DB
DEFAULT DRIVER=PARADOX
ENABLE BCD=FALSE
6. Добавляем, если надо, другие параметры.
7. Сохраняем.
8. Таблице указываем DatabaseName := SUPER_DB
9. Настраиваем дальнейшую цепочку как обычно.
10. В подходящем месте, например, в конструкторе дата-модуля, заменяем относительный путь на полный.
Выглядеть это может приблизительно так:
procedure TForm1.FormCreate(Sender: TObject);
begin
Database1.Close;
Database1.Params.Values[ ‘PATH’ ] :=
ExtractFilePath(Application.ExeName) + Database1.Params.Values[ ‘PATH’ ];
Database1.Open;
Table1.Open;
end ;
20-05-2008 05:57 | Сообщение от автора вопроса
Была у такая идея написать програмку, кинуть ее при установке на сетевой ресурс вместе с файлами программы и запускать с каждой рабочей станции
Сама програмка будет: 0.Выводить ярлык программы Подскажите можно ли все это реализовать? |
20-05-2008 04:38 | Сообщение от автора вопроса
То есть в свойстве DatabaseName всех tableов прописать каталог нахождения программы .DB? Еще вопрос: необходимо также на каждой рабочей станцие сделать некоторые настройки BDE: NetDir, LangDriver и LocalShare. Как их задать? Программно? |
20-05-2008 04:24
Лучше вообще отказаться от алиаса, убрать его название в свойствах компонент баз данных. Тогда его и устанавливать не нужно будет. Если вы указываете путь к базе данных, то есть к определенным файлам таблиц, тогда зачем вам алиас? |
Страница избранных вопросов Круглого стола.
Если вы заметили орфографическую ошибку на этой странице, просто выделите ошибку мышью и нажмите Ctrl+Enter.
Функция может не работать в некоторых версиях броузеров.
© При использовании любых материалов «Королевства Delphi» необходимо указывать источник информации. Перепечатка авторских статей возможна только при согласии всех авторов и администрации сайта.
Все используемые на сайте торговые марки являются собственностью их производителей.
Не возможен доступ к PDOXUSRS.NET
На одном и том же компьютере, но под другой учетной записью, попытался войти в Инфо-Бухгалтер 8. Начались проблемы.
Сначала был долгий поиск ключа, нахождение и предложение перезаписать ключ (код ответ и код вопрос). Техподдержка рекомендовала сделать это.
Далее стала возникать ошибка: Не возможен доступ к PDOXUSRS.NET. Удаление этого файла не помогло.
В bde на всех компах конфиг одинаковый. Другие пользователи входят без проблем.
На этом компе под другой учеткой тоже все нормально.
Подскажите, пожалуйста, в чем проблема и как её решить?
Разработчики, пожалуйста, откликнитесь!
- 279 просмотров
Может быть несколько причин.
1. Был сбой компьютера. Поэтому на компьютере остались не удаленными файлы PARADOX.LCK и PDOXUSRS.LCK.
Найти на компьютере с помощью функции Найти файлы с расширение lck (в том числе и в скрытых папках) и удалить их.
Скорее всего, причина именно в этом.
2. Если у Вас сетевая версия, то невозможен доступ к сетевому диску, на который записывается файл, к которому нет доступа.
- или зарегистрируйтесь, чтобы оставлять комментарии
Посмотрите права доступа для этой учётной записи, войдя под ней.
В папке, в которой установлена программа, и в папке BDE.
Если не получится, то позвоните по +7-925-507-42-82. Могу подключиться.
- или зарегистрируйтесь, чтобы оставлять комментарии
Вопрос с доступом к PDOXUSRS.NET решился настройкой полного доступа к сетевому диску.
Я было возрадовался. Вход в Инфо-Бухгалтер под новой учеткой выполняется без проблем, но при попытке сформировать счет вылетает ошибка:
Невозможно получить полный доступ к базе SF_TOP.IBL :(32,2228).
Удаление файлов с расширениями px, xo, yoa и т.д. не дало положительных результатов.
Удаление и копирование базы из-под проблемной учетки тоже не помогло.
Файлы и папки на сетевом диске удаляются и переименовываются.
Однако при попытке сформировать проводку в ручную ошибок не возникает.
Сообщение типа «File: C:PDOXUSRS.NET» связано с ограниченными правами на компьютере.
Для работы программ достаточно прав пользователя, однако должны быть открыты для записи каталоги программ, рабочие каталоги программ, каталог C:Integral.Ltd и следующие ветки реестра:
1. HKEY_LOCAL_MACHINESOFTWAREIntegral.
2. HKEY_CURRENT_USERSOFTWAREIntegral.
Так же рекомендуем удалить данные из папок
HKEY_CURRENT_USERSoftwareIntegralKeys и
HKEY_LOCAL_MASHINESoftwareIntegralKeys.
В любом случае устанавливать программы и драйвер электронного ключа необходимо с полными правами администратора.
Файл PDOXUSRS.NET в любом случае записывается на диск С, поэтому следует предпринять действия по переносу этого файла в каталог C:Integral.Ltd.
Нужно инсталлировать с дистрибутивного CD-диска из каталога BDE5. Либо загрузить BDE отсюда.
После этого в панели инструментов, черед BDEAdmin перенесите файл PDOXUSRS.NET в каталог C:INTEGRAL.LTD (см. рис.).
- 13.jpg (34.77 КБ) 3790 просмотров
Может кто встречался с этой проблемой: суть заключается в том что при использовании баз данных Paradox по сети возникает вот эта ошибка?
4 ответа
1
01 июня 2010 года
kot_
7.3K / / 20.01.2000
Если проблема возникает переодически — проблема в совместном доступе к файлу Pdoxusrs.net — обрабатывайте ошибку и пробуйте снова. В противном случае — у пользователя, которым вы подключаетесь нет прав на запись в папку, которая указана как NET DIR.
На машине к которой пробую подключиться папку с базами расшарил для полного доступа.
Там же сделал BDE: Configaration->System->Init->Local Share = True
После установки этой настройки появилась следующая ошибка
Directory is controlled by other .NET file.
Directory: C:NETS
File:\192.168.1.6jobPDOUSRS.LCK
Если ставлю Configaration->System->Init->Local Share = False
и запускаю программу на машине-владельце баз данных (но подключаюсь к ней по сети то программа работает без сбоев)
1
01 июня 2010 года
kot_
7.3K / / 20.01.2000
удалите все файлы с расширениями lck & net в этой папке
1
01 июня 2010 года
kot_
7.3K / / 20.01.2000
и соотвественно проверьте, что NET DIR одинакова на всех машинах. Для этого ее необходимо подключать как сетевой диск.
Если вы запустили программу, использующую базу данных Paradox, и получили следующие сообщение об ошибке: «Произошла ошибка при работе с BDE! Network initialization failed. Permission denied. File: C:PDOXUSRS.NET Directory: C:» (Смотрите рисунок 1), то это сообщение означает, что BDE движок доступа к базе данных Paradox не может создать файл хранения информации о пользователях базы с именем PDOXUSRS.NET на разделе C: жесткого диска из-за ограниченного доступа на запись в корень диска.
Рисунок 1. Сообщение об ошибке BDE Paradox
Для исправления этой ошибки необходимо:
1. Создать новую директорию в любом месте жесткого диска, там где у вас есть права на запись. Например, D:BDEShare.
2. Запустить утилиту BDE Administrator из пути: C:Program Files (x86)Common FilesBorland SharedBDEBDEADMIN.EXE или из «Панель управления», потом BDE Administrator.
3. Далее переходите Configuration -> Drivers -> Native -> Paradox
4. Для ключа NET DIR указываем путь до D:BDEShare (Смотрите рисунок 2)
5. Сохраняем в утилите BDE Administrator все внесенные изменения
6. Закрываем утилиту
7. Запускаем программу использующую базу данных Paradox
Рисунок 2. Внешний вид утилиты BDE Administrator
Настройка велась в Windwos 10 64 bit.