Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.047 c
2-1180509078
Tetiana
2007-05-30 11:11
2007.06.24
TXMLDocument


6-1164965704
Novic
2006-12-01 12:35
2007.06.24
Запустить самостоятельный процесс на сервере


2-1179403094
kubatura
2007-05-17 15:58
2007.06.24
игнорирование регистра в запросе


4-1168807319
gibz
2007-01-14 23:41
2007.06.24
связать тип данных и указатель возвращаемый функцией


2-1180570261
Glivera
2007-05-31 04:11
2007.06.24
Очистка JvImage





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский