Макс. размер DAT-файла Clarion 2.1
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Макс. размер DAT-файла Clarion 2.1
В продолжении темы про мой проблемный файл. Столкнулась с такой проблемой, что как только размеры DAT-файла Clarion 2.1 превысили 2 гига Кларион6 перестал корректно с ним работать - не находил записи по ключу. Пришлось писать ДОС-овую вставку, чтобы найти нужные записи и перегнать их во временный файл, который уже нормально читается в Кларионе6. В описаниях написано, что DAT-файл Clarion 2.1 может быть до 4Гб, а на деле не тянет 6-й кларион больше 2 Гб. Или может я не теми средствами и не теми командами пользуюсь. Использую обычные команды GET(). В ДОС-овом то же самое работает нормально.
- Игорь Столяров
- Ветеран движения
- Сообщения: 7498
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 18 раз
- Поблагодарили: 51 раз
Re: Макс. размер DAT-файла Clarion 2.1
В каком описании это написано ?!shako писал(а):В описаниях написано, что DAT-файл Clarion 2.1 может быть до 4Гб
Если Вы о фразе "Records per File : 4,294,967,295" - то она переводится как "Кол-во записей в файле : 4,294,967,295".
А вот "File Size: limited only by disk space" - т.е. "Размер файла: ограничен только свободным местом на диске".
Здесь и надо копать ...
За теми кто отстал - не возвращаться. (С) Кодекс
- Admin
- Администратор
- Сообщения: 3963
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 29 раз
- Поблагодарили: 22 раза
- Контактная информация:
Re: Макс. размер DAT-файла Clarion 2.1
Так как описан первый случай, могу предположить все таки падение ключей...Игорь Столяров писал(а):В каком описании это написано ?!shako писал(а):В описаниях написано, что DAT-файл Clarion 2.1 может быть до 4Гб
Если Вы о фразе "Records per File : 4,294,967,295" - то она переводится как "Кол-во записей в файле : 4,294,967,295".
А вот "File Size: limited only by disk space" - т.е. "Размер файла: ограничен только свободным местом на диске".
Здесь и надо копать ...
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
- WadimZapara
- Активист
- Сообщения: 181
- Зарегистрирован: 11 Июнь 2008, 12:11
- Откуда: Тамбов
Re: Макс. размер DAT-файла Clarion 2.1
Полностью согласен с Admin-ом.
Примените командный файл для перестройки ключей, типа такого, что показан ниже, и запланируйте его запуск в удобное для организации время.
При этом, чем сложнее (длиннее) ключ, и чем больше разнотипных полей входят в его состав - тем выше вероятность падения такого ключа.
На файлах со сложными ключами это начинается ещё при размерах всего в 20 Мб.
А уж ежели патологические размеры, как у Вас, думаю - это неизбежно.
Примените командный файл для перестройки ключей, типа такого, что показан ниже, и запланируйте его запуск в удобное для организации время.
Код: Выделить всё
net share Маршрут_Сетевого_Ресурса /delete /yes
csrt.exe filename1 /v
...
csrt.exe filenameN /v
net share Имя_Ресурса=Маршрут_Сетевого_Ресурса /unlimited /remark:"Комментарий для сетевого ресурса"
На файлах со сложными ключами это начинается ещё при размерах всего в 20 Мб.
А уж ежели патологические размеры, как у Вас, думаю - это неизбежно.
Компьютер имеет то преимущество перед мозгом, что им пользуются...
-
- Ветеран
- Сообщения: 311
- Зарегистрирован: 08 Июль 2005, 22:04
Re: Макс. размер DAT-файла Clarion 2.1
Ну уж следует признать,что формат DAT это анахронизм.Если уж в этом
файле содержится ценная информация,то нужно просто перегнать его
в более современный формат в режиме последовательного чтения
типа SET-NEXT(без всяких там ключей).Это либо TPS(но там размеры файла имеют ограничения),
либо,к примеру, в в MYSQL.Делал это неоднократно и работа то копеечная.Но это по зубам
конечно профи-кларионисту.Да,наша любимая клаша это удел профессиналов и нужно этому
учиться многие годы.
файле содержится ценная информация,то нужно просто перегнать его
в более современный формат в режиме последовательного чтения
типа SET-NEXT(без всяких там ключей).Это либо TPS(но там размеры файла имеют ограничения),
либо,к примеру, в в MYSQL.Делал это неоднократно и работа то копеечная.Но это по зубам
конечно профи-кларионисту.Да,наша любимая клаша это удел профессиналов и нужно этому
учиться многие годы.
Re: Макс. размер DAT-файла Clarion 2.1
Ключи перестроить - это первым делом делаем всегда. Проблема в том, что после перестройки ключей все-равно виндузовый Кларион ничего не находит. А Досовый всё видит и отрабатывает нормально. И там и там все делаю одинаково. А перегонять в более современный формат не целесообразно - много времени займет и пустое это занятие. Работать приходится с готовыми DAT-файлами Clarion2.1, которые постоянно обновляются и дополняются. Я всего лишь пишу вспомогательные программы для облегчения жизни пользователям, которые вынуждены пользоваться официальной готовой программой. Тот МОНСТР много чего выполняет, но всегда есть куча задач, которые надо выполнить, а они не реализованы.
Кто-нибудь реально работал с DAT-файлами Clarion2.1 большого объема более 2 гигов в Clarion6?
Кто-нибудь реально работал с DAT-файлами Clarion2.1 большого объема более 2 гигов в Clarion6?
Re: Макс. размер DAT-файла Clarion 2.1
Так как Clarion Версия проги не указана.Проблема в том, что после перестройки ключей все-равно виндузовый Кларион ничего не находит
Если прога написана на Clarion2.1(DOS) то поищите на диске OPTIONS.CTL и удалите их все. Затем перестройте ключи в Виндовой Кларе и попробуте поиск в DOSе.
Re: Макс. размер DAT-файла Clarion 2.1
Igor - вы всё поняли наоборот
Имеется файл TMP.DAT - Clarion2.1 размер превышает 2 Гб
пишу в программе Clarion6.2
Get(TMP,TKey) - не находит запись
в Досовом Clarion2.1 та же самая инициализация ключевых полей
Get(TMP,TKey) - о чудо! находит запись
Имеется файл TMP.DAT - Clarion2.1 размер превышает 2 Гб
пишу в программе Clarion6.2
Get(TMP,TKey) - не находит запись
в Досовом Clarion2.1 та же самая инициализация ключевых полей
Get(TMP,TKey) - о чудо! находит запись
- WadimZapara
- Активист
- Сообщения: 181
- Зарегистрирован: 11 Июнь 2008, 12:11
- Откуда: Тамбов
Re: Макс. размер DAT-файла Clarion 2.1
А не зависит ли это от атрибута файла OEM ?
думаю, файл создан в DOS-кларе,
а читается в Win-кларе с атрибутом OEM.
Вот ту-то и есть бяка.
Попробуй варианты:
1) убрать атрибут OEM, например во время исполнения: File{PROP:OEM}=FALSE
2) создать такой же файл в Win-кларе и переписать в него в Win-проге, считывая пошагово
правда, боюсь, с новым файлом (WinFile) может проявиться обратный эффект - в Win-проге ОК, в DOS-проге - проблемы...
думаю, файл создан в DOS-кларе,
а читается в Win-кларе с атрибутом OEM.
Вот ту-то и есть бяка.
Попробуй варианты:
1) убрать атрибут OEM, например во время исполнения: File{PROP:OEM}=FALSE
2) создать такой же файл в Win-кларе и переписать в него в Win-проге, считывая пошагово
Код: Выделить всё
Set(DosFile)
Loop
Next(DosFile)
IF ErrorCode() Then Break.
WF:Record = DF:Record
ADD(WinFile)
End
Компьютер имеет то преимущество перед мозгом, что им пользуются...