Форум: "Базы";
Текущий архив: 2007.06.24;
Скачать: [xml.tar.bz2];
ВнизТаблицы 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;
Скачать: [xml.tar.bz2];
Память: 0.56 MB
Время: 0.037 c