На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! ПРАВИЛА РАЗДЕЛА · FAQ раздела Delphi
Пожалуйста, выделяйте текст программы тегом [сode=pas] ... [/сode]. Для этого используйте кнопку [code=pas] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Дельфи/Паскаля.
Обязательно указание:
1) типа базы данных (Paradox/Oracle/Interbase и т.п.)
2) способа доступа к базе данных (ODBC/ADO/DAO/BDE и т.п.)
Например: Paradox/BDE, MS Access/ADO

Наиболее часто задаваемые вопросы:
Базы даных для начинающих. Первые шаги. Понятие о BDE.
Переход на клиент-сервер и начала ADO
Приёмы работы с BLOB (OLE/Memo) полями
Запросы и параметры или как избавиться от многих проблем. Проблемы с датами в запросах.
Нужели мне нужно устанавливать BDE? (или почему не работает программа на другом компьютере)
Модераторы: Bas, Rouse_
  
> Файл-серверная БД (Paradox) , Сетевая БД
    Привет.

    Возникла такая проблема:
    Создана БД с помощью таблиц Paradox - обычно так делается локальная БД, но если подключить сетевой диск с папкой, где находится БД, то можно иметь доступ из сети.

    Сначала попробовал
    z: подключить как C:\DB (т.е. на локальной машине, но через сетевой диск) - все работает без проблем.
    , а потом
    z: подключил как \\server\db возникает ошибка доступа, к чему и что за ошибка трудно определить, т.к. запускается exe, а не dpr в Delphi.

    И если кто знает порядок работы BDE при одновременном доступе к БД через сеть напишите ПЛЗ.
      Попробуй создать сетевой диск.
      Я решал эту же проблему именно так.
        Цитата
        mmihaylovich, 26.07.04, 13:15
        подключил как \\server\db возникает ошибка доступа, к чему и что за ошибка трудно определить, т.к. запускается exe, а не dpr в Delphi.

        А путь в алиасе изменил?
          Цитата
          mmihaylovich, 26.07.04, 13:15
          z: подключил как \\server\db возникает ошибка доступа, к чему и что за ошибка трудно определить, т.к. запускается exe, а не dpr в Delphi.
          сначало в map создать диск а потом создать алиас в BDE и настроить.
          например Z:\DB
          Сообщение отредактировано: Kobra -
            Kobra у меня и так работает -".\\server\db" и диск можно не подкдлючать, но с диском удобней.
            Сообщение отредактировано: Bas -
              Я создавал сетевой диск.

              Подключено вроде правильно.
              Даже частично работает. :)
              Одна часть программы обращается к одним таблицам, а другая к другим.
              Вот первая часть нормально работает с данными, а переходишь к другим, так сразу ошибку выдает (но только если на другом ПК, на локальном работает :huh: ).
              Данные в одном Алиасе.
                провер компоненты доступа, и вообще исползуи TDataBase и все компоненты доступа настрои на него
                  Сейчас попробовал на других ПК, ничего при этом в коде не изменяя.
                  Вроде как все работает.
                  Но пока еще интересно как БД будет вести себя с одновременным доступом (изменением, ввод новых данных) к ней по сети.
                    Цитата
                    mmihaylovich, 26.07.04, 15:14
                    Но пока еще интересно как БД будет вести себя с одновременным доступом (изменением, ввод новых данных) к ней по сети.

                    А это как написал (блокировки,экслюзтвный доступ и т.д.)
                      Цитата
                      А это как написал (блокировки,экслюзтвный доступ и т.д.)


                      А это пока никак не написал :D
                        Цитата
                        mmihaylovich, 27.07.04, 13:03
                        А это пока никак не написал

                        значит, работать не будет...
                          Плохо будет работать, при том готовься к самому худшеиу.
                          Из того, что есть это самый паршивый формат.
                          Использовал бы лучше dBase или Access, на порядок более стабильнее.
                            Цитата Anatoly Podgoretsky @ 27.07.04, 18:49
                            Использовал бы лучше dBase или Access, на порядок более стабильнее.

                            Не утверждаю, что не так, просто интересно откуда такая мысль?
                              Цитата
                              BackSlash, 28.07.04, 11:22
                              Цитата (Anatoly Podgoretsky @ 27.07.04, 18:49)
                              Использовал бы лучше dBase или Access, на порядок более стабильнее.

                              Не утверждаю, что не так, просто интересно откуда такая мысль?


                              это аксиома ;) просто формат Paradox разработан, а системы управления под него практически не развиваются
                                если правильно парадоксом пользоваться, то никаких проблем он не доставляет.

                                Я почитал сообщения - вижу попытку многопользовательского доступа к DB PARADOX, а каких-то действий к этому нет.

                                1. Все компьютеры работающие с этой дб должны иметь в настройках БДЕ ключ LOCAL SHARE = TRUE.
                                2. Особой разницы как прописывать алияс через сетевой диск или просто расшаренный ресурс нет, но здесь важно чтобы у всех он был прописан одинаково (причем это пожелание касается обычно любых БД, а не только ПАРАДОКС).
                                3. Ключь БДЕ NET DIR. Вот здесь без сетевого диска не обойтись просто потому, что так удобнее. Причем даже для той машины на которой этот dir находится и на всех машинах это должен быть одинаковый (в смысле буква) сетевой диск. Таким образом все пользователи из сети будут иметь доступ к БД через одни и те же локфайлы, полный путь к которым на каждой машине будет одинаковый. Последнее замечание не всегда критично, но на разных виндах в случае несоответствия могут быть совершенно разные результаты.
                                  Парадокс - это всего навсего формат хранения, и, как сказал
                                  Цитата
                                  H.Iglesias II, 28.07.04, 12:56
                                  если правильно парадоксом пользоваться, то никаких проблем он не доставляет.

                                  это действительно так.
                                  есть мнение, что BDE, не совсем правильно пользуется парадоксом. откуда столько нареканий.
                                  В драйвере доступа к данным через BDE не совсем коррекно реализована многопользовательская работа.
                                  может стоить сменить технологию доступа к данным Парадокс, напимер, вместо BDE использовать ADO.
                                  отклики при работе с Парадоксом через ADO более положительные нежели чем через BDE.
                                  Сообщение отредактировано: ych_boriss -
                                    Цитата
                                    ych_boriss, 28.07.04, 12:14
                                    отклики при работе с Парадоксом через ADO более положительные нежели чем через BDE.
                                    Cогласен , и не только с Paradox'ом.
                                      Цитата ych_boriss @ 28.07.04, 12:14
                                      есть мнение, что BDE, не совсем правильно пользуется парадоксом. откуда столько нареканий.
                                      В драйвере доступа к данным через BDE не совсем коррекно реализована многопользовательская работа.
                                      может стоить сменить технологию доступа к данным Парадокс, напимер, вместо BDE использовать ADO.
                                      отклики при работе с Парадоксом через ADO более положительные нежели чем через BDE.

                                      большинство не подозревает, что программа bdeadmin предназначена не только для заведения альсов, но и для настройки БДЕ. Все нарекания на работу БДЕ вытекают только из неумения им пользоваться. И это касается не только БДЕ, а абсолютно всех СЕРЬЕЗНЫХ программ начиная с Виндовс.

                                      Многопользовательская работа в БДЕ реализована достаточно корректно (у нас за те годы как мы этим пользуемся притензий не возникало ), если БДЕ НАСТРОЕН для многопользовательского режима.
                                        Ну насчет почему Paradox?
                                        Была поставлена задача написать БД, используя Delphi.
                                        При этом есть знания по реляционным БД и Делфи (совместно не использовал).
                                        Ну я долго не мудрствуя открыл книжечку, которая у меня была "Delphi 4 для разработчиков БД" Фаронова.

                                        А там рассматривают три подхода:
                                        Файл-сервер, Клинет-Сервер, Трехзвенная архитектура. Также описаны недостатки и достоинства каждой.

                                        И начал с простого, и там описано использование таблиц Paradox (для файл-сервер) с помощью BDE.
                                        Притом когда давали задание дали пример СУБД, которая также использует BDE & Paradox.
                                        Ничего плохого пока не замечал, конечно были минусы типа защита паролем при наличии суперпароля :) ,
                                        небольшие непонятки с сетью (ну это наверно из-за неопытности).

                                        Теперь вернемся к сети.
                                        Цитата
                                        Ключь БДЕ NET DIR.


                                        NET DIR за что отвечает? Туда копируются временные таблицы или как?
                                        Цитата

                                        Вот здесь без сетевого диска не обойтись просто потому, что так удобнее

                                        Второй сетевой диск? Один для PATH, а второй для NET DIR? :o
                                          Цитата
                                          H.Iglesias II, 28.07.04, 13:33
                                          Многопользовательская работа в БДЕ реализована достаточно корректно (у нас за те годы как мы этим пользуемся притензий не возникало ), если БДЕ НАСТРОЕН для многопользовательского режима.


                                          а у нас все с точностью до наоборот. хотя, возможно, все дело может быть в неправильных настройках БДЕ для многопользовательского режима.
                                          НО, БДЕ+Парадокс нам не подходит из-за низкой производительности. пороэтому было прянято решения выбрать СУБД, работающее в архитектуре Клиент-Сервер (Interbase).
                                            Цитата mmihaylovich @ 28.07.04, 12:35
                                            Теперь вернемся к сети.
                                            Цитата
                                            Ключь БДЕ NET DIR.


                                            NET DIR за что отвечает? Туда копируются временные таблицы или как?
                                            Цитата

                                            Вот здесь без сетевого диска не обойтись просто потому, что так удобнее

                                            Второй сетевой диск? Один для PATH, а второй для NET DIR? :o

                                            NET DIR - каталог для файлов совместного доступа. Т.е. там хранится файл Pdoxusrs.net в котором указывается кто с чем работает в данный момент. Этот файл отвечает за то, что система коректно позволяет работать нескольким клиентам с одними и теми же данными. Если у разных клиентов эти директории разные, то информацию о себе они будут заносить в разные файлы, а те уже в свою очередь не дадут друг другу до этих данных добраться. Точнее тот кто доберется первым не пустит второго. Если полные пути к этим файлам с разных клиентов отличаются, хотя и указывают на один каталог в сети, на разных ОС могут происходить глюки, когда в лок файле будет информация что совместный доступ к данным контролируется 2-мя разными файлами, хотя они и указувают в итоге один и тот- же файл.

                                            2.
                                            Путь к альясу и NET DIR - это никак не связанные вещи. Имелось в виду вот что:
                                            в сети назначен расшаренный каталог для организации совм. доступа к ПАРАДОКС (допустим \\SERVER\DB\NETS).
                                            на каждой машине создается сетевой диск (одинаковая буква, допустим "P") с путем в эту папку. Он может окольными путями в него попадать. Очень важный момент, что на машине где эта папка находится ТАКЖЕ НУЖНО СДЕЛАТЬ ТАКОЙ ДИСК. т.е. по сети обращается сам к себе.
                                            и у всех этот диск назначается в NET DIR = P:\.


                                            Еще LOCAL SHARE отвечает за то, как сохраняются данные на диск. Если TRUE, то данные сохраняются после каждого Post(), если FALSE то сохраняются только после закрытия соответствующего набора данных. По умолчанию, кстати, FALSE. Непонятно почему...

                                            Добавлено в :
                                            Цитата ych_boriss @ 28.07.04, 12:55
                                            Цитата
                                            H.Iglesias II, 28.07.04, 13:33
                                            Многопользовательская работа в БДЕ реализована достаточно корректно (у нас за те годы как мы этим пользуемся притензий не возникало ), если БДЕ НАСТРОЕН для многопользовательского режима.


                                            а у нас все с точностью до наоборот. хотя, возможно, все дело может быть в неправильных настройках БДЕ для многопользовательского режима.
                                            НО, БДЕ+Парадокс нам не подходит из-за низкой производительности. пороэтому было прянято решения выбрать СУБД, работающее в архитектуре Клиент-Сервер (Interbase).

                                            Согласен 100%. IB foreva.
                                            Когда все начиналось у нас и ПАРАДОКС УСТРАИВАЛ просто потому, что было достаточно других проблем
                                            Мы счас потиху переводим на IB.
                                              Большое спасибо за подробное объяснение. :rolleyes: Надеюсь данная информация будет полезна не только мне. :)
                                                Да наговорили тут всего. И правды и неправды.
                                                Ну и бог с ним, а вот какие проьлемы будут, так это порча индексов, порча автоинкриментных полец, проблемы с *.net и *.lcк файлами, блокировка каталога. Это то что будет происходить постоянно при более менее активной работые в сети и особенно с ростом размеров таблиц.
                                                  Цитата Anatoly Podgoretsky @ 29.07.04, 20:33
                                                  Да наговорили тут всего. И правды и неправды.
                                                  Ну и бог с ним, а вот какие проьлемы будут, так это порча индексов, порча автоинкриментных полец, проблемы с *.net и *.lcк файлами, блокировка каталога. Это то что будет происходить постоянно при более менее активной работые в сети и особенно с ростом размеров таблиц.

                                                  и что же здесь неправда?

                                                  Если надо работать активно, в сети да с большими таблицами, да сотни клиентов, то это не к Парадоксу. Он не для этого в принципе.
                                                  Надо использовать СУБД, любая из которых имеет свои недостатки. Любую БД при желании запороть проще простого... У меня не теоретические рассуждения типа "что будет" - у меня есть реально работающая система 7 дней в неделю 24 часа в сутки с сервером и десятком клиентов. Как атавизм предыдущих разработок там используется Парадокс. Не скажу, что на нем все основано, но пишется и читается из него постоянно. За почти 2 года эксплуатации проблемы возникали, но ни одна не связана с Парадоксом.
                                                    Цитата
                                                    H.Iglesias II, 30.07.04, 10:43
                                                    так это порча индексов
                                                    бывает, но если программа клиент написан коректно, краине редко. так я написал ону прогу с парадоксом, гдето чтото не учел видимо. иногда в ден несколько раз приходится индекс восстоновливать, а так месяцами работает как миленки (искать просчет я уже не буду).
                                                    Цитата
                                                    Anatoly Podgoretsky, 29.07.04, 20:33
                                                    порча автоинкриментных полец
                                                    бывает, но если программа написана коректно, не происходит.
                                                    Цитата
                                                    Anatoly Podgoretsky, 29.07.04, 20:33
                                                    проблемы с *.net
                                                    ета проблема винды, иногда мап расстраивается.
                                                    Цитата
                                                    Anatoly Podgoretsky, 29.07.04, 20:33
                                                    *.lcк файлами
                                                    ну, такое происходит если не коректно завершают работу.
                                                    Цитата
                                                    Anatoly Podgoretsky, 29.07.04, 20:33
                                                    блокировка каталога
                                                    опять таки, как программа написана. когда пишеш для многоползовательского режима, нужно применять кое какие хитрости.
                                                    так что, по моему мнениу, все зависит от разработчика а не от парадокс.
                                                    а вообше то парадокс ето парадокс!
                                                      Какой МАП себе заранее устраивать неприятность.

                                                      Причины зависания не интересуют, интересуют последствия.

                                                      Парадокс автоматически делает блокировки, не повлияешь.

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

                                                      Все недостатки Парадокса сравниваются с другми десктопными базами, не в коей мере не клиент серверными. Вот здесь Парадокс выглядит неприглядно.
                                                        переливание из пустого в порожнее.
                                                          Цитата
                                                          Anatoly Podgoretsky, 30.07.04, 15:17
                                                          Парадокс автоматически делает блокировки, не повлияешь.
                                                          Цитата
                                                          Kobra, 30.07.04, 14:31
                                                          когда пишеш для многоползовательского режима, нужно применять кое какие хитрости.
                                                          вот в етом схитрить можно.
                                                          а вобшем, я считаю что многоролзователскую базу нада делать клиент сервером.
                                                          но начинаюшие считают (я такимже был) что легче освоить рарадокс или аксес чем интербеис или ...
                                                          в принцыпе так и есть, азы постигать там легче.
                                                            Недавно мне открыли большую тайну любви к Парадоксу, оказалось что примеры у Архангельского на Парадоксе :)
                                                              Цитата
                                                              так это порча индексов

                                                              Цитата
                                                              порча автоинкриментных полец


                                                              Каким образом они портятся и способы их восстановления?
                                                                с индексом просто, удолить и снова создать.
                                                                  Цитата mmihaylovich,2.08.04, 14:05
                                                                  Каким образом они портятся и способы их восстановления?

                                                                  У Борланда на сайте есть библиотеки, по одной под каждую версию БДЕ.
                                                                  0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                                                  0 пользователей:


                                                                  Рейтинг@Mail.ru
                                                                  [ Script execution time: 0,1514 ]   [ 16 queries used ]   [ Generated: 22.11.25, 02:54 GMT ]