Форум: "Базы";
Текущий архив: 2004.01.09;
Скачать: [xml.tar.bz2];
ВнизDelphi+Halcyon+NTX=? Найти похожие ветки
← →
SKing (2003-11-22 11:50) [0]Мастера помогите! Как писать в таблицу DBF с которой работают
пользователи из Clipper приложений, так что бы не рушились индексы NTX. С помощьб библиотеки Halcyon индексы рушаться, может быть не правильно что то делаю?
← →
Anatoly Podgoretsky (2003-11-22 11:55) [1]А оно поддерживает Клиппер?
При том по полной и индексы и блокировки.
← →
SKing (2003-11-22 11:59) [2]Судя по документации - да.
Может быть подскажите еще какие либо средства.
← →
Anatoly Podgoretsky (2003-11-22 12:10) [3]А судя по результатам нет.
← →
SKing (2003-11-22 12:29) [4]Да, Вы знаете, я то же это заметил.
← →
sniknik (2003-11-22 12:58) [5]> может быть не правильно что то делаю?
наверняка чтото неправильно, работаю с Halcyon исключительно изза того что есть поддержка Clipper/NTX, делаю индексы которые после Clipper-ное прилежение использует. ну и есть исходники можно дописывать свои функции /исправлять существующие,в клипере ведь можно сделать свою функцию и делать индекс включающий ее, без возможности изменения Halcyon был бы бессмысленным.
встречалась стандартная функция которая включенная в индекс давала в разных версиях клипера разные индексы. (!!!)
а чего говорить тогда о стороннем средстве.
> помощьб библиотеки Halcyon индексы рушаться
может ты их просто не подключаеш перед изменениями в таблицах? тогда они точно порушатся.
(но тут нужно аккуратнее, много индексов тормозят изменения, иногда (данных не изменение много) проще оставить 1 главный индекс или вообще убрать после добавить и переиндексировать все (быстрее))
← →
sniknik (2003-11-22 13:12) [6]Anatoly Podgoretsky © (22.11.03 11:55) [1]
> При том по полной и индексы и блокировки.
индексы полностью, а блокировки не уверен (потому как не пробовал паралельную работу с клиперной программой, но раз пишут то должно, в остальном то не обманывали :)
просто у меня ситуация специфичестая, клиперная прога работает с таблицами монопольно(!), когда нужно она выставляет флаг отключается от базы (обменной) и вот тут то работает моя программа.
почему сделано именно так? просто для другого решения слишком много переделывать (уже написана замена вместо переделки), но ведь и старых клиентов нужно поддерживать. а обновление и полная замена индексов у меня в программе (на сервере под виндами) занимает 11-15сек. в клипере (лок. машина DOS) занимает 20-25мин. как вы думаете что выбирали клиенты? ;о)) (копирование базы почти не в счет ~2сек.)
← →
Anatoly Podgoretsky (2003-11-22 13:23) [7]Значит ты можешь подтвердить, что индексы поддержаны полностью, по крайней мере неприятностей не обнаружил.
Тогда это означает, что у него ошибка в программе.
← →
sniknik (2003-11-22 13:36) [8]неприятность была, но только одна, именно с той функцией которая неправильно в индексе отрабатывала (точно не помню, давно делал, смысл, она там строку обрезала на определенную длинну так в одном варианте если строку дать меньше она оставалась как есть а в другом добавлялись пробелы).
сначала думал глюк, ну исправил и исправил, а после программист который на клипере у нас пишет то же самое словил на переходе с версии на версию (зачем менял не знаю), но индексы со старой не работали изза этого (мне после пришлось переключатель вставлять старая/новая программа).
← →
SKing (2003-11-24 08:36) [9]Доброе утро.
Перед открытием таблицы пишу в IndexFiles все индексные файлы,
потом делаю IndexDefs.Update. Вот и все, может быть нада делать что то еще?
← →
SKing (2003-11-24 13:11) [10]Мастера куда вы делись? Может кто нибудь подсказать как писать в DBF с поддержкой NTX индексов?
← →
Oleg_em (2003-11-24 14:23) [11]to SKing а в документации то есть пример открытия баз с индексами ?
с Halcyon-ом не работал, использовал Apollo
также совместно с clipper прогами
там открытие индексов делал так:
with ApolloTable do
begin
Tablename := "c:\basa";
Open;
IndexOpen("c:\basa.ntx");
IndexOpen("c:\basa.nt1");
end;
есс-но были проверки на состояние таблицы (открыта/закрыта)
и на наличие файлов индексов, в случае отсутствия - создавал
if not FileExists(TableName+".ntx") then
Index(TableName,"DATE",0,False,"");
я думаю тебе стоит проверить, точно ли твоя программа открывает индексы !
например попробовать удалить индексный файл, в то время когда запущена ТОЛЬКО твоя прога.
← →
SKing (2003-11-24 16:32) [12]Пробовал удалить, не удаляет...
← →
DrAdmin (2003-12-11 09:42) [13]Мастера !
А у кого можно разжиться Appolo или Halcyon ?
нужно не триал, а нормальная версия, желательно
под Delphi 6 или С++ Builder 3,4,5,6...
Спасибо.
← →
tchn (2003-12-11 15:27) [14]да! достаточно просто подключить индексы. ничего не рушится
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.01.09;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.011 c