На главную Наши проекты:
Журнал   ·   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_
  
> Проблемма с Absolute Database
    Критическая проблемма!!!

    Компонент Absolute Database версии 4.90. Созданна база с одной единственной таблицей из 12 полей, одно из которых типа блоб.

    Проблема заключаеться в том что при выполнении процедуры заполнения базы при внесении в неё 20411'ой записи, прогрограмма (которую я пишу) выдаёт сообщение об ошибке которое переводится как "переполнение интегер". Я перепроверил акуратнейшим образом переменные данного типа, ни одна из них переполненна быть не может! Таким образом цифра 20410 записей становиться максимумом, при этом файл базы весит 21,5 гигабайта... но проблемма в том, что этого недостаточно, так как база должна расширяться практически безгранично.

    Что можно сделать? Как сдвинутся с этой мёртвой точки?
      почитай.
      http://www.componentace.com/absolute_database_features.htm
      особенно обрати внимания на табличку в нижней части

      Добавлено
      Цитата qivi @
      так как база должна расширяться практически безгранично.

      Ни к одной базе данных такого сказать нельзя. у любой есть границы хотя в некоторых они огромные
      Сообщение отредактировано: ViktorXP -
        А можно и я спрошу у знающих людей ? ....

        Есть проект (справочник) в котором есть 10 полей (обычные текстовые). В предыдущем проекте примерно такого же содержания были применены ADOConnection, ADOQuery и ADOTable все было прекрасно ! НО ! При использовании AbsoluteDB при составлении все того же запроса ,который генерится автоматически исходя из параметров запроса (поиск всех слов, любого слова, фразы целиком) и количества слов в поисковом запросе ЕСТЬ ПРОБЛЕМА.
        Поиск осуществляется по всем полям БЕЗ СТРОГОГО соответствия (%) все мною перечисленное и примененное вроде поддерживается (читал мануал внимательно). Короче вот примерный запрос который НЕ ХОЧЕТ ничего искать или ищет почему-то совсем не то. Вот введенное содержание : "ба ба бу"

        ExpandedWrap disabled
          select * from MAIN_TABLE where ((field1 like '%БА%' or field2 like '%БА%' or field3 like '%БА%') or (field1 like '%БА%' or field2 like '%БА%' or field3 like '%БА%') or (field1 like '%БУ%' or field2 like '%БУ%' or field3 like '%БУ%'))


        Как вы думаете в чем может быть дело ? Еще раз повторюсь - с применением ADO все было прекрасно.
        Большие буквы запрашиваемых слов - это обязательное условие - иначе ваще ничего не ищет. Может тут еще одна проблема...
        В реальности запрос еще больше, но построен по тому же принципу.
          Усё решилось ...
          Не в компоненте дело было - Delphi IDE глючил ...

          Простите за флейм !
            Цитата ViktorXP @
            почитай.
            http://www.componentace.com/absolute_database_features.htm
            особенно обрати внимания на табличку в нижней части

            Почитал... там написано что файл базы ожет быть несколько теробайт... плюс ограничения файловой системы...
            Скачал более новую версию компонента...
            Провёл несколько эксперементов и реструктуризаций своей программы...

            Результат тот же... база глюкает на 21.5 гыгобайтах жалуясь на переполнение какогото интегера при том что никакая моя переменная переполнена быть не может, на сколько я понял это не ограничение базы данных, с кем общался говорят в ВинИКСПИ ограничения если и есть то очень большие...

            В чём проблемма? Помогите пожалуйста...
              А можно встречный вопрос по AbsoluteDB ?
              Просто у меня база всего-то 10 Мб. Но как только начинаю ее использовать по локальной сети и подключить к ней 2-х и более пользователей - начинаются ужасные тормоза ... тормозит даже перемещение по списку записей в DBGrid`е ,о поиске и речи нет - ждать приходится 20-30 минут ...
              Оговорюсь, если запустить несколько копий программы и подключить их к базе ,расположенной тут же на компьютере - все отлично летает (именно так и проверял на ошибки при работе нескольких пользователе чтобы их обрабатывать если что). Пробовал так же установить виртуальную машину на компьютере и от туда через виртуальную сеть имитировать многопользователький доступ - тоже тормоза как и в реальной локальной сети ...

              Помогите прошу !!! Благодарю заранее !!!
                Цитата qivi @
                В чём проблемма? Помогите пожалуйста...

                А что говорит служба поддержки?
                  Вы не по моему вопросу спросили, но хочу сказать ,что служба поддержки говорит "не удалось воспроизвести ошибку ,пришли пожалуйста Ваш проект с базой нам" ...
                  У меня ,например, нет такой возможности - мой проект с базой весит 120 Мб в сжатом 7Zip архиве (уровень сжатия Ultra) ...

                  P.S.
                  Уважаемый Анатолий, а Вы не смогли бы хотя бы примерно сказать почему такое может происходить ?
                    В том то и дело, что не могу, ни разу не слышал про это, ни в форумах, ни в документации от производителя, тем более, что они заявляют поддержку террабайт. По моему лучше к ним.
                      Kotofffможет дело в кодировке

                      зы. подробнее не могу ответить
                        Надо посмотреть
                        Благодарю !
                          Помогите пожалуйста.
                          Использую Absolute Database, когда указываю DatabaseFileName:='C:\PROEKT_KONTROL\DATA\P_Ktrl.ABS' программа работает нормально, а когда
                          указываю DatabaseFileName:='Z:\P_Ktrl.ABS', где Z сетевой диск \\Amannazar-pc\c\PROEKT_KONTROL\DATA\P_Ktrl.ABS выдает ошибку Cannot modify a read-only dataset.
                            Капитан Очевидность предполагает, что движок намеренно препятствует подключению БД с сетевых дисков.
                              HandleShared.Exclusive какое значение имеет?
                              Попробуйте не копирование в папку, а memory dataset.
                              При копировании на сетевой диск P_Ktrl.ABS не меняет свойство на "только для чтения"?
                              Сообщение отредактировано: Bas -
                                Есть еще более веселое предположения. Сетевой диск подключен так, что не предполагает редактирования. Права смотреть надо в первую очередь
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0362 ]   [ 16 queries used ]   [ Generated: 28.03.24, 21:46 GMT ]