Первасив. Есть ли ограничение на размер файла?

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4615
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 37 раз

Первасив. Есть ли ограничение на размер файла?

Сообщение finsoftrz »

Сам певасив делает файлы продолжения на win32. Но есть подозрение, что кларион на уровне своего драйвера битрива имеет ограничение в 4гб. Так во всяком случае в документации прописано. А драйвер pervasiveSQL вроде требует установки odbc, как для других sql серверов. Может, кто проверял?
C6/C11, ШВС, tps/btrieve.
kreator
✯ Ветеран ✯
Сообщения: 4982
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 7 раз
Поблагодарили: 20 раз

Первасив. Есть ли ограничение на размер файла?

Сообщение kreator »

finsoftrz писал(а): 29 Ноябрь 2017, 14:50 А драйвер pervasiveSQL вроде требует установки odbc, как для других sql серверов.
"Как и других sql серверов" - неправильная фраза. Если в Кларионе есть прямые драйвера, ODBC не требуется. Pervasive из той же серии. Вообще у SQL-серверов нет проблемы с большими файлами, не важно 32 или 64-битная ось. Btrieve и его кларионовский драйвер - это другой случай, не скажу.
We are hard at work… for you. :)
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4615
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 37 раз

Первасив. Есть ли ограничение на размер файла?

Сообщение finsoftrz »

Ну, судя по доке, для PervasiveSQL как раз требуется. Сам удивился. Не требуется, насколько знаю, только для oracle, а все остальные "прямые" - это специальные надстройки над odbc. В том числе ms sql и сибейз. Не уверен, но вроде так было...
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7372
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Первасив. Есть ли ограничение на размер файла?

Сообщение Игорь Столяров »

finsoftrz писал(а): 29 Ноябрь 2017, 14:50Может, кто проверял?
Размеры файлов MKD БД зависят от версии P.SQL (точнее теперь уже Actian Zen Database)
см. например нттп://www.pervasive.com/database/Home/Product ... e12Compare

и https://www.pervasive.com/Portals/55/do ... _Guide.pdf
(на странице 7 есть сравнительная табличка размера файла БД от его версии)

В Clarion нативный драйвер Btrieve и P.SQL, ODBC не требуется.
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4615
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 37 раз

Первасив. Есть ли ограничение на размер файла?

Сообщение finsoftrz »

Речь про ограничения со стороны клариона. Как я понимаю, работа через драйвер P.SQL ведется генерацией sql запросов. А через драйвер btrieve - это транзакционная модель (как tps).
Насчет odbc для P.SQL в доке на c10 есть такая фраза:
Pervasive SQL requires that the 16-bit ODBC support files are also installed.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7372
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Первасив. Есть ли ограничение на размер файла?

Сообщение Игорь Столяров »

finsoftrz писал(а): 29 Ноябрь 2017, 18:28 А через драйвер btrieve - это транзакционная модель (как tps).
Да. Но запросы идут через Btrieve API. Т.е. драйвер Clarion напрямую с файлом MKD не работает (в отличии от TopSpeed формата).
А далее уже возможность Btrieve API определяются как версией MKD формата файла, так и версией P.SQL ... (см. PDF ниже)
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4615
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 37 раз

Первасив. Есть ли ограничение на размер файла?

Сообщение finsoftrz »

То есть мы можем работать с первасивом через транзакционную схему доступа только в пределах 4гб. А через реляционную (генерацию sql запросов в драйвере P.SQL) с тем размером базы, которая определяется используемым форматом на сервере первасива. Если так, то первасив совсем не вариант для обхода ограничения в 2ГБ для tps.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4615
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 37 раз

Первасив. Есть ли ограничение на размер файла?

Сообщение finsoftrz »

Или не так...
The specifications below document Version 6.15. Your specific limits are dependent on what version of Btrieve you are using, and are not dependent on the Btrieve driver. Refer to your Btrieve documentation for your specific limitations.
То есть в доке ограничения на драйвер btrieve указаны на примере формата 6.15, а фактически надо смотреть по используемому формату первасива...
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7372
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Первасив. Есть ли ограничение на размер файла?

Сообщение Игорь Столяров »

Конечно же нет ! Основа БД Pervasive - это MKD файл.
Вы можете получить доступ к данным в нём как через транзакционную модель (Btrieve), так и через Pervasive.SQL.
Если у Вас P.SQL 12, то размер MKD файла версии формата 9.5 до 256 GByte, а если жлобский Btrieve 12 - то 4 GByte.

Спасибо, что пнули. Пошёл на сайт - а там P.SQL 13 оказывается вышел ... Всё есть. Сейчас буду ставить и тестить. :)
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4615
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 37 раз

Первасив. Есть ли ограничение на размер файла?

Сообщение finsoftrz »

Я так всегда и думал, что-то засомневался. Это на fat32 создаются несколько файлов-продолжений, а на ntfs таблица в одном файле размещается...
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7372
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Первасив. Есть ли ограничение на размер файла?

Сообщение Игорь Столяров »

finsoftrz писал(а): 29 Ноябрь 2017, 18:45а на ntfs таблица в одном файле размещается...
Да. И версия Windows (x32/x64) значения не имеет. Но надо, учитывать что "размер файла" понятие скользкое.
Файл одинаковой структуры и теми же данными - в MKD будет значительно больше, чем в том же TPS.
К тому же P.SQL выделяет файловое пространство листами (page) и постоянно захватывает лишнии для оптимизации.
Но зато текстовые MEMO поля для файла FileName.mkd хранятся в отдельном файле (FileNameMEM.mkd) и в расчёт не входят. :)
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4615
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 37 раз

Первасив. Есть ли ограничение на размер файла?

Сообщение finsoftrz »

Про увеличение размера я в курсе. То же самое и для sql серверов. Например, когда я перегрузил данные из tps в ms sql, то размер файла вырос примерно в 8 раз...
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7372
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Первасив. Есть ли ограничение на размер файла?

Сообщение Игорь Столяров »

finsoftrz писал(а): 29 Ноябрь 2017, 19:41 то размер файла вырос примерно в 8 раз...
Гы ! Ну P.SQL не всё так плохо. К тому же, с помощью утилиты Rebuil можно дефрагментировать содержание MKD файла
и отжать пустые листы. И вроде бы, в PSQL v12 дефрагментация MKD должна выполняться службой в фоне .. Не проверял. :)
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4615
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 37 раз

Первасив. Есть ли ограничение на размер файла?

Сообщение finsoftrz »

А не пробовали динамически подменять драйвер tps на первасив через prop:driver? Писали, что в C10 такое возможно, если прилинковать dfd драйвер. Было бы удобно, не надо пересобирать отдельно проект.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7372
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Первасив. Есть ли ограничение на размер файла?

Сообщение Игорь Столяров »

finsoftrz писал(а): 30 Ноябрь 2017, 10:31А не пробовали динамически подменять драйвер tps на первасив через prop:driver?
Пробовал и в С63 ... Но в сием действии, к сожалению, нет смысла ... Обозначу основные проблемы:
- По разному работают свойства, тот же File{Prop:Name} и т.д.;
- В P.SQL нет ключей / индексов по DECIMAL, а в TPS нет PDECIMAL (эти различия должны быть на уровне словаря);
- В P.SQL нет BLOB полей, и MEMO поля имеют ограничение по размеру, также отличается физическое хранение MEMO (см. ниже)
- P.SQL не всегда адекватно реагирует на нули в составных ключах с аттрибутом OPT, например если для TPS:

Код: Выделить всё

...
She:Date  Long
...
Clear(Shet.Record)
Set(Shet.ByDate,Shet.ByDate)
Loop ...
то в PSQL лучше сразу делать так:

Код: Выделить всё

Clear(Shet.Record)
Shet.Date = 1
Set(Shet.ByDate,Shet.ByDate)
Loop ...
и всё-таки для PSQL (если планируется работать с БД через тот же ODBС) "родной" формат даты/времени DATE/TIME и т.д.

Но, если правильно организовать словари и код, то нет никакого напряга - подменил словарь, пересобрал. Твоя ! :)
За теми кто отстал - не возвращаться. (С) Кодекс
Ответить