Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.06.24;
Скачать: CL | DM;

Вниз

Таблицы Paradox в сети   Найти похожие ветки 

 
OldProger   (2007-03-26 14:42) [0]

Здравствуйте, уважаемые коллеги.
Я хотел бы повторить обсуждение вопроса от 1-го марта, к сожалению, там все просто перелаялись, что недостойно.
Есть файловая база данных, BDE, db-таблицы в одноранговой сети. При обработке базы слетали индексы. Базу переставил под терминальный сервер, индексы стали слетать намного реже, но не прекратили этого делать. Мне в одном форуме намекнули про блокирование и про кэширование, но неконкретно. Полностью понимаю, что нужно было все писать под Interbase/Firebird/Oracle... и прочая клиент-сервер. Но ведь сетевая технология существует не первый год, Delphi с BDE и Paradox-ом работает очень давно, туча программ написана, и по идее все это должно было работать задолго до 100Мбитных сетей и Win2003-серверов, в гораздо более жестких условиях. Я программу перепишу, конечно, но это долго, большая она. Хоть кто-нибудь знает что-то, что может помочь? Или хоть где почитать? От-mail-ьте, пожалуйста, горим.


 
Jan   (2007-03-26 14:44) [1]

Диплом?


 
Sergey13 ©   (2007-03-26 14:53) [2]

> [0] OldProger   (26.03.07 14:42)

Если базу перегнать (с точностью до милиметра) например под ФБ и подсунуть БДЕ, то вполне вероятно, что прога будет работать без переделок (или с минимальными переделками).


 
Виталий Панасенко(дом)   (2007-03-26 15:11) [3]


> Sergey13 ©   (26.03.07 14:53) [2]
>
> > [0] OldProger   (26.03.07 14:42)
>
> Если базу перегнать (с точностью до милиметра) например
> под ФБ и подсунуть БДЕ, то вполне вероятно, что прога будет
> работать без переделок (или с минимальными переделками).
>
>

Ага.. весь вопрос, КАК она будет работать...


 
Sergey13 ©   (2007-03-26 15:17) [4]

> [3] Виталий Панасенко(дом)   (26.03.07 15:11)

Это надо смотреть/тестировать безусловно. Тормоза практически обеспечены. Но я умаю и с парадоксом не обобо летает. А вот надежность и непротиворечивость данных будет на несколько порядков выше.
ИМХО.


 
Виталий Панасенко(дом)   (2007-03-26 15:24) [5]

Тормозов не будет на таблицах - 500-1000 записей.. а дальше - "смерть в очах"...
Сам натыкался..:-)


 
Плохиш ©   (2007-03-26 16:05) [6]


> OldProger   (26.03.07 14:42)  

Для начала и самое первое нужно установить на всех компьютерах, работающих с парадоксом, свойство "NET DIR" на одну и ту же расшаренную папку в сети, на всех компьютерах она должна быть привязана к букве диска и иметь идентичное имя, т.е. ни какие "\\pcserv\..." не допускаются. Тогда Вы, возможно, выиграете время на переделку программы.


 
OldProger   (2007-03-27 21:36) [7]

Спасибо всем за отзывы,
Г-н Плохиш, позвольте уточнить по поводу свойства "NET DIR", куда должно показывать: имеется в виду сетевая папка с базой данных? Или что там должно лежать? Временные файлы? Общие настройки? Или BDE сама будет что-то туда писать? Дело еще в том, что я перешел под терминальный сервер, в котором нет сетевых папок, он работает со всеми папками, как локальными, вернее, только с локальными (для него) папками. Если вы действительно знаете, что введенре этого параметра весьма существенно, ответьте, пжлст, я могу и снова перейти к одноранговой сети. Хрен с ним, пусть работает с тормозами, зато надежно. Правда, количество записей в таблицах большое, например, 200 000 - и будет расти.  
Если удобно - мой мэйл fvk@rgg.donpac.ru
Еще раз благодарю всех, если кто-то еще что-то знает - с благодарностью восприму.
Г-н Jan - простите, а что означает ваш вопрос? Есть ли у меня диплом? Да, есть, но вроде как в России не редкость...
Oldproger


 
Плохиш ©   (2007-03-27 22:25) [8]


> позвольте уточнить по поводу свойства "NET DIR"

Это путь в котором будет храниться файл блокировок для парадокса. На всех компьютерах, работающих с бд, он должен называться одинакого и указывать на одну и ту же сетевую папку. На пример, расшариваем на сервере папку //server/netdir, её надо подключить ко всем компьютерам в виде диска и этот диск должен иметь на всех компьютерах одинаковую букву. В этом случее NET DIR=X:\
Важно, если Вы расшариваете папку на каком-нибуть компьютере, с которого тоже хотите работать с бд, то эту папку в обязательном порядке надо подключить к нему как сетевую.
И самое приятное, если в сети окажеться компьютер, не удовлетворяющий описанным требованиям, и с него попытаются что-то записать в бд, то слетание индексов гарантируется в 99% случаев. 1% - это случайное совпадение, что больше никто не работает с базой :-)


 
Виталий Панасенко(дом)   (2007-03-27 22:34) [9]


> одинаковую букву.

Враки


 
Германн ©   (2007-03-28 01:19) [10]


> Важно, если Вы расшариваете папку на каком-нибуть компьютере,
>  с которого тоже хотите работать с бд, то эту папку в обязательном
> порядке надо подключить к нему как сетевую.

Подключить к нему как диск.
BDE никогда не умела и никогда не будет уметь работать с сетевыми именами папок, файлов и пр.


 
Плохиш ©   (2007-03-28 01:29) [11]


> Германн ©   (28.03.07 01:19) [10]

Поправка принимается :-) У меня в тот момент уже пальцы не гнулись...


 
Германн ©   (2007-03-28 01:36) [12]


> У меня в тот момент уже пальцы не гнулись...

:)


 
Германн ©   (2007-03-28 01:48) [13]

2 Плохиш ©   (28.03.07 01:29) [11]
Но нужно принять и пост Виталий Панасенко(дом)   (27.03.07 22:34) [9].
Он тоже абсолютно прав!


 
Плохиш ©   (2007-03-28 01:50) [14]


> Германн ©   (28.03.07 01:48) [13]

Моя практика этого не подтверждает.


 
Германн ©   (2007-03-28 01:59) [15]


> Плохиш ©   (28.03.07 01:50) [14]
>
>
> > Германн ©   (28.03.07 01:48) [13]
>
> Моя практика этого не подтверждает.
>

А моя подтверждает! Давай поспорим?


 
Плохиш ©   (2007-03-28 10:50) [16]


> Германн ©   (28.03.07 01:59) [15]

Я позволю себе давать советы руководствуясь своей практикой.


 
Asail   (2007-03-28 15:36) [17]


> Важно, если Вы расшариваете папку на каком-нибуть компьютере,
>  с которого тоже хотите работать с бд, то эту папку в обязательном
> порядке надо подключить к нему как сетевую.

Не уверен... На компе, где БД локальная, достаточно указать туже папку, в которую ломятся и другие клиенты. А танцы с бубном при создании сетевого диска, зашаренного на самого себя, вовсе не обязательны ИМХО. (исходя из моей практики... Хотя, может, и ошибаюсь.)


 
Mike Kouzmine ©   (2007-03-28 22:33) [18]

Плохиш ©   (27.03.07 22:25) [8]

"И самое приятное, если в сети окажеться компьютер, не удовлетворяющий описанным требованиям, и с него попытаются что-то записать в бд, то слетание индексов гарантируется в 99% случаев. 1% - это случайное совпадение, что больше никто не работает с базой :-)"

Фантазии.

Плохиш ©   (28.03.07 01:50) [14]

> Германн ©   (28.03.07 01:48) [13]

Моя практика этого не подтверждает.

Практики мало было или с чужих слов.


 
Anatoly Podgoretsky ©   (2007-03-29 00:09) [19]

> Плохиш  (27.03.2007 22:25:08)  [8]

Это не верная информация, сильно не верная.

1. Диск не требуется и вреден, диск требуется только для старых DOS/Win 3.1

2. Если же все таки используется диск, то буква на разных клиентах может быть любая, зато путь обязан быть одинаковым.


 
Германн ©   (2007-03-29 03:47) [20]


> Anatoly Podgoretsky ©   (29.03.07 00:09) [19]
>
> > Плохиш  (27.03.2007 22:25:08)  [8]
>
> Это не верная информация, сильно не верная.
>
> 1. Диск не требуется и вреден, диск требуется только для
> старых DOS/Win 3.1
>

Это что же? Я всё ещё живу в прошлом веке? :(
Завтра в офисе обязательно попробую объявить Session.NetFileDir как каталог на сетевом компе.


 
Anatoly Podgoretsky ©   (2007-03-29 23:00) [21]

Попробуй, но лучше обратись к RTM от производителя.
Но можешь не пробовать, никогда не использовал мапирование дисков, только UNC Path и даже не благодаря Борланд, а вопреки им, они в начале писали только про диски, потом стыдливо поменяли на правильную информацию, а вот касательно LOCAL SHARE то его тайну рассказывают только в конференциях, а документации неверная информация, ведущая только к серьезным проблемам.


 
Германн ©   (2007-03-30 01:43) [22]


> Anatoly Podgoretsky ©   (29.03.07 23:00) [21]
>
> Попробуй, но лучше обратись к RTM от производителя.
> Но можешь не пробовать, никогда не использовал мапирование
> дисков, только UNC Path и даже не благодаря Борланд, а вопреки
> им, они в начале писали только про диски, потом стыдливо
> поменяли на правильную информацию, а вот касательно LOCAL
> SHARE то его тайну рассказывают только в конференциях, а
> документации неверная информация, ведущая только к серьезным
> проблемам.

Не было времени вчера поэкспериментировать :( Полдня или даже больше пытался найти ошибку в программе для одного из своих контроллеров! Перед глазами до сих пор асс-текст в турбике :(

> Попробуй, но лучше обратись к RTM от производителя.

Я так понял, что имеется в виду RTFM от производителя. А кто сейчас производитель?


> Но можешь не пробовать, никогда не использовал мапирование
> дисков, только UNC Path и даже не благодаря Борланд, а вопреки
> им, они в начале писали только про диски, потом стыдливо
> поменяли на правильную информацию
Верю, естественно, но пока сам не попробую, не буду использовать UNC.


> а вот касательно LOCAL SHARE то его тайну рассказывают только
> в конференциях, а документации неверная информация, ведущая
> только к серьезным проблемам.
>

А вот про "засады" с LOCAL SHARE первый раз слышу. Приведи, пожалуйста какую-нибудь ссылку.
P.S. У меня LOCALSHARE всегда False.


 
Виталий Панасенко ©   (2007-03-30 11:43) [23]


> А вот про "засады" с LOCAL SHARE первый раз слышу. Приведи,
>  пожалуйста какую-нибудь ссылку.
> P.S. У меня LOCALSHARE всегда False.

И работает в сети ? странно...


 
Empleado ©   (2007-03-30 12:07) [24]

Никто не упомянул DbiCheckRefresh.
Без этой маленькой рутинки есть большой риск падения индексов Paradox в многопользовательском режиме, если не ошибаюсь.


 
Anatoly Podgoretsky ©   (2007-03-30 20:14) [25]


> P.S. У меня LOCALSHARE всегда False.

Вот производитель это и рекомендует, а должно быть строго наоборот.
И что такое LOCALSHARE описывает не совсем точно, не описан побочный эффект, при включение данного свойства получается СЕТЕВАЯ работа, иначе локальная. Это факт также рассказывается только в конференциях, документация молчит.


 
Mike Kouzmine ©   (2007-03-30 22:12) [26]

Anatoly Podgoretsky ©   (30.03.07 20:14) [25] Для меня этот параметр так и остался загадкой. За пять лет использования парадокса ставил и в то и в то. Разницы не заметил.


 
Anatoly Podgoretsky ©   (2007-03-30 22:53) [27]

> Mike Kouzmine  (30.03.2007 22:12:26)  [26]

Разница есть, если установить в истину, то будет происходить немедленная запись в таблицу.


 
Германн ©   (2007-03-31 00:21) [28]


> Anatoly Podgoretsky ©   (30.03.07 20:14) [25]
>
>
> > P.S. У меня LOCALSHARE всегда False.
>
> Вот производитель это и рекомендует, а должно быть строго
> наоборот.
> И что такое LOCALSHARE описывает не совсем точно, не описан
> побочный эффект, при включение данного свойства получается
> СЕТЕВАЯ работа, иначе локальная. Это факт также рассказывается
> только в конференциях, документация молчит.
>

Интересно.


 
Mike Kouzmine ©   (2007-03-31 11:42) [29]

Anatoly Podgoretsky ©   (30.03.07 22:53) [27] Я использовал явную команду записи /(забыл название), видимо поэтому не заметил разницы


 
Mike Kouzmine ©   (2007-03-31 11:44) [30]

Anatoly Podgoretsky ©   (30.03.07 22:53) [27] Еще в турбоповер ((если не ошибаюсь)


 
Виталий Панасенко(дом)   (2007-03-31 11:45) [31]


> Германн ©   (31.03.07 00:21) [28]
>
>
> > Anatoly Podgoretsky ©   (30.03.07 20:14) [25]
> >
> >
> > > P.S. У меня LOCALSHARE всегда False.
> >
> > Вот производитель это и рекомендует, а должно быть строго
> > наоборот.
> > И что такое LOCALSHARE описывает не совсем точно, не описан
> > побочный эффект, при включение данного свойства получается
> > СЕТЕВАЯ работа, иначе локальная. Это факт также рассказывается
> > только в конференциях, документация молчит.
> >
>
> Интересно.

Это интересно, если рабочая станция используется как сервер... Т.е. если БД для данной станции - локальная, а остальные к этой самой станции обращаются. Если LOCAL SHARE=FALSE, то локальная станция кэширует данные, возникают глюки. При чем очень неприятные. Если же БД лежит где-то на отдельном файл-сервере, то я разницы не заметил...


 
Anatoly Podgoretsky ©   (2007-03-31 12:20) [32]

> Mike Kouzmine  (31.03.2007 11:42:29)  [29]

Вот поэтому и не заметил


 
Anatoly Podgoretsky ©   (2007-03-31 12:22) [33]

> Виталий Панасенко(дом)  (31.03.2007 11:45:31)  [31]

Разница заметна, точно также кеширует.


 
Asail   (2007-03-31 17:06) [34]

Я всегда на ВСЕХ клинтах ставлю LOCALSHARE=True (Кстати, тот комп на физ. диске которого висит БД такой-же клиент, как и все остальные). Работает медленнее, но слетов индексов не замечал (разве-что после отключения питания на одном из клиентов, когда он активно работает с БД).


 
Виталий Панасенко(дом)   (2007-03-31 17:19) [35]


> Anatoly Podgoretsky ©   (31.03.07 12:22) [33]
>
> > Виталий Панасенко(дом)  (31.03.2007 11:45:31)  [31]
>
> Разница заметна, точно также кеширует.
>

Может быть... Но, по крайней мере, виднЫ изменения, сделанные другими пользователями. А вот есть на сервере использовать клиента  и LOCAL выставить в False, то тут не только проблемы с "невидимостью",а и слет таблиц 100% обеспечен. Чего не будет при выделенном файл-сервере...


 
Anatoly Podgoretsky ©   (2007-03-31 19:18) [36]

> Asail  (31.03.2007 17:06:34)  [34]

Это тоже побочный эффект данного ключа


 
Anatoly Podgoretsky ©   (2007-03-31 19:20) [37]

> Виталий Панасенко(дом)  (31.03.2007 17:19:35)  [35]

Почти никогда нет оправдания установки данного ключа в состояние FALSE, кроме очень редких случаев, например персональная база в режиме RO
Особенность данного ключа, что с времен ДОС, когда он появился в IDAPI документация практически не менялась и значение по умолчанию тоже FALSE


 
Asail   (2007-04-01 00:22) [38]


> Anatoly Podgoretsky ©   (31.03.07 19:18) [36]
> > Asail  (31.03.2007 17:06:34)  [34]
>
> Это тоже побочный эффект данного ключа

Не понял... Какой побочный эффект? Что индексы слетают при сбое питания? Так это вполне естественно. Даже на IB/FB слетят если так над сервером издеваться.
Или что тормозит при True? Так это тоже естественно - кэширование же не работает.
Или я не так понял?


 
Anatoly Podgoretsky ©   (2007-04-01 01:02) [39]

> Asail  (01.04.2007 00:22:38)  [38]

Это не сервер, слетают индексы из-за кеширования и аварийного отключения.


 
Германн ©   (2007-04-01 02:17) [40]

Вообщем из вышенаписанных постов я понял только одно, что давно мне было известно: "Если всё работает, то не надо ничего трогать!" У Анатолия одни примеры, у Виталия - другие, у прочих - ещё какие-нибудь.
А общего решения как не было, так и нет. Но эту ситуацию с парадоксом Анатолий уже давно описал.



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

Текущий архив: 2007.06.24;
Скачать: CL | DM;

Наверх




Память: 0.58 MB
Время: 0.02 c
15-1179773449
Астроном
2007-05-21 22:50
2007.06.24
Фотография воды на Марсе...


2-1180700653
ANB
2007-06-01 16:24
2007.06.24
Изменение CommandText у ClientDataSet


2-1180536974
stud
2007-05-30 18:56
2007.06.24
ничего не понимаю!!!!!


15-1179990326
Pazitron_Brain
2007-05-24 11:05
2007.06.24
Ценителям советской аудиотехники


2-1180792497
BigLamer
2007-06-02 17:54
2007.06.24
Ось координат графика