Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.11.13;
Скачать: [xml.tar.bz2];

Вниз

Paradox: *.lck   Найти похожие ветки 

 
explorer   (2003-10-16 07:11) [0]

Мастера!
В локальной сети (Win98) на 15 машин использую базу Paradox, доступ через BDE.
проблема в том, что при запуске приложения на клиентах, вываливается сообщение об ошибке на файлы *.lck (pdoxusrs.lck и paradox.lck), которые создаются на файл-сервере. Выдается не всегда и не на всех клиентах.

Подскажите, что это за файлы и как надо правильно организовывать доступ к БД с других машин?


 
DenK_vrtz   (2003-10-16 08:17) [1]

http://delphimaster.net/view/3-1066214076/


 
explorer   (2003-10-16 09:28) [2]

DenK_vrtz ©
А куда лучше направлять net директорию? На клиент или где распологается БД?


 
Виталий Панасенко   (2003-10-16 09:29) [3]

Ссылка интересная, но... Вот, что советует Borland:
TI256B.txt Removing "Lock file has grown too large" Error
Category :General Programming
Platform :All
Product :BDE All
Description:
Lock file has grown too large, Decimal:9495 Hex:2517
----------------------------------------------------
This problem is specific to Paradox tables and can be caused
in any BDE (16 or 32 Bit) application that meet some or all
of the following criteria:

1) The Executable is in the same directory as the table.
2) The Private Directory is not correctly set or not set
at all.
3a) Delphi: Having a TTable open on a paradox table and
then performing multiple TQuery operations.
3b) C / C++: Having a table open with DbiOpenTable and
then performing multiple queries with DbiQExec and/or
DbiQExecDirect.
4) LOCAL SHARE set to true in the BDE Configuration
Utility on the System page.

To solve the problem, make sure that your application has
done ALL of the following:

1) Under the directory where the executable is, create
three new directories: TABLES, PRIV, and NET. Place
all the tables for the application into the TABLES
directory.
2) Set the session"s private directory to the PRIV
directory. Take the following steps according to
the software you are using.

DELPHI:
Session.PrivateDir := ExtractFilePath(ParamStr(0)) + "PRIV";

C / C++:
DbiSetPrivateDir(szPath);
// szPath is the fully qualified path (not relative)
// to the PRIV directory.

3) Set the session"s network directory to the NET
directory. Take the following steps according to
the software you are using.

DELPHI:
Session.NetFileDir := ExtractFilePath(ParamStr(0)) + "NET";

C / C++:
DbiSetProp(hSes, sesNETFILE, (UINT32)szPath);
// szPath is the fully qualified path (not relative)
// to the NET directory.

// hSes is the current session handle. This can be
// retrieved using the DBiGetCurrSession function.

4) If LOCAL SHARE is set to true and you are not sharing
tables between different applications at the same time,
change LOCAL SHARE to false.

The above steps will correct the Lock File Too Large error.

Т.е. нужно установить PrivateDir обязательно !


 
DenK_vrtz   (2003-10-16 09:43) [4]

все пользователи должны иметь один и тот же путь к сетевому управляющему файлу (PDOXUSRS.NET)


 
explorer   (2003-10-16 09:48) [5]

DenK_vrtz ©
Я правильно понял, что Net Dir, LOCAL SHARE надо изменять в BDE-Configuration....?

А PrivateDir где задавать? или только программно?


 
DenK_vrtz   (2003-10-16 10:00) [6]

>Я правильно понял, что Net Dir, LOCAL SHARE надо изменять в BDE-Configuration....?

именно

см.Виталий Панасенко (16.10.03 09:29) [3]


 
Anatoly Podgoretsky   (2003-10-16 10:25) [7]

За исключением LOCAL SHARE остальные советы правильные, а с LOCAL SHARE надо понимать весь контекст, его стоит (да и то надо задуматься) в FALSE только при локальной установке и при понимании того, почему это делаешь. Если понимания нет, то всегда TRUE


 
explorer   (2003-10-16 12:55) [8]

Блин, после того, как всех клиентов направил в одну Net Dir, у всех, кроме запущенного первым, вываливается ошибка "Directory is controlled by other .Net file"


 
DenK_vrtz   (2003-10-16 13:09) [9]

Вот это посмотри:

Доступ к таблицам Paradox
BDE сначала пытается получить доступ к файлу PDOXUSRS.NET. Если файл PDOXUSRS.NET не найден, Paradox создает новый файл PDOXUSRS.NET и продолжает процедуру запуска. Если файл PDOXUSRS.NET присутствует, но владелец этого net-файла использует другой путь, т.е. подключил сервер иначе, возникает исключительная ситуация "Multiple net files in use" (Используются несколько net-файлов) и BDE прекращает свою работу. После того, как сеть успешно открыла эксклюзивную блокировку, PARADOX.LCK размещается во временном, частном каталоге. При невозможности установки блокировки, BDE прекращает свою работу. Причина неудачи может заключаться в том, что какой-то пользователь имеет в этом каталоге эксклюзивную блокировку, или же файлы блокировки используют различные net-файлы. После того, как каталог будет защищен от частного использования, общий файл PARADOX.LCK будет расположен в рабочем каталоге, и на этом процесс инициализации будет завершен.


 
aVast   (2003-10-16 13:24) [10]

Тебе надо выгнать всех клиентов и потереть файлы *.lck и файл pdoxusers.net


 
grusty   (2003-10-16 14:06) [11]

Может Net Dir нужно создавать на локальном диске рабочей станции, а не в общем каталоге...


 
Anatoly Podgoretsky   (2003-10-16 14:10) [12]

grusty (16.10.03 14:06) [11]
И имеем DenK_vrtz © (16.10.03 13:09) [9] "Multiple net files in use"


 
aVast   (2003-10-16 14:14) [13]

Нужно создать на одной из машин сетевой ресурс, на всех машинах подключить его под одним и тем же именем (у меня это был диск M:\), и опять же на всех машинах в качестве значения параметра net dir указать то имя диска под которым вы его подключили


 
explorer   (2003-10-16 14:44) [14]

Всем спасибо, заработало!


 
explorer   (2003-10-17 06:49) [15]

Тут столкнулся с другой проблемкой. Из 15 машин, только 3 между собой воюют. Ругаются, что одна из них блокировала доступ к сетевому каталогу, хотя остальные клиенты в этот момент работают с БД нормально. Настройки BDE на всех одинаковые.

DenK_vrtz ©[9]
посоветовали "защитить каталог от частного использования...", подскажите как это реализовать?



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2003.11.13;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.029 c
14-41890
undert
2003-10-21 17:04
2003.11.13
Описание компонентов RAVE


4-42225
JS
2003-09-02 16:45
2003.11.13
Global memory


3-40845
Denisiy
2003-10-21 16:16
2003.11.13
Как передать в переменную резльтат запроса от Query?


1-41200
AndriyS
2003-11-02 11:47
2003.11.13
Работа с Stringgrid, как менять во время исполнения размеры


3-40968
boka
2003-10-13 18:48
2003.11.13
Обращение к записям Query





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский