Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.012 c
3-25246
Gandrey
2003-12-08 16:22
2004.01.09
uniqueidentifier и UpdateSQL


14-25513
Stilgar
2003-12-15 20:17
2004.01.09
Чем Windows 2000 лучше XP?


4-25668
Gilk
2003-11-05 16:31
2004.01.09
Как узнать открыт/используется ли документ


9-25179
G A M E R
2003-06-17 13:14
2004.01.09
Colission Detector


1-25427
hobbeat
2003-12-24 07:04
2004.01.09
Притормаживания IDE Deplphi





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский