Форум: "Базы";
Текущий архив: 2002.12.05;
Скачать: [xml.tar.bz2];
ВнизКакой то непонятный этот Jet Найти похожие ветки
← →
kombat (2002-11-13 18:20) [0]Привет всем! Совсем достал меня этот АДО. Делаю источник типа Provider=Microsoft.Jet.OLEDB.4.0;Password="";Data Source=d:\work\account\work\;Mode=Read|Share Deny None;Extended Properties=dBase IV;Persist Security Info=True
и при попытке в запросе обратится к проиндексированному полю вылетает ошибка Индекс не найден!
mdac 2.7, Jet4 SP3, D6 SP2 в свойствах ISAM стоит IndexFilter = Индекс dBASE (*.cdx) - до этого стояло Индекс dBASE (*.ndx;*.mdx)
Не помогает !!!
Помогите!!!
← →
sniknik (2002-11-13 18:49) [1]*.cdx это фокспрошный индекс, Jet его не понимает, вернее прекратил поддержку фокса с версии 3.x короче довольно давно (раньше были исамы FoxPro 2.0, 2.5, 2.6, 3.0 счас нету :-((). переделывай под *.mdx (сам через Jet создай)
← →
kombat (2002-11-13 18:58) [2]а если нет возможности менять индекс (эти индексы и таблички использует действующая прога на Fox2.6)? то как быть?
Но даже если и создавать индекс самому через Jet, то как?
← →
Андрей Прокофьев (2002-11-13 19:07) [3]Может, без АДО?
использовать компоненты Halcyon.
они поддерживают индексы
← →
sniknik (2002-11-13 19:14) [4]Halcyon приемлемый вариант, сам пользуюсь под Клиппер (*.ntx), а через ADO можно к Visual Foxpro (ODBC Driver) подключатся, читать будет и редактировать и т.д. до первого слета индекса т.к. через него его не сделаеш.
← →
sniknik (2002-11-13 19:18) [5]kombat © (13.11.02 18:58)
создавать индекс самому через Jet, то как?
запросом CREATE INDEX [Index] ON [TABLE] (Field)
← →
Fixxxer (2002-11-14 01:46) [6]Может за одно подскажет кто? Где можно скачать FoxPro 3. Ну уж очень он понадобился, а найти не могу.
← →
kombat (2002-11-14 09:58) [7]Подключаюсь через Visual Foxpro (ODBC Driver), все работает, но проблема в том что он блокирует табличку, даже при Mode=Read|Share Deny None, а это принципиальное условие (неблокировка).
← →
sniknik (2002-11-14 10:30) [8]возьми строку по минимуму, все что надо по умолчанию встанет, как и режим Share Deny None
Provider=MSDASQL.1;Extended Properties="DRIVER={Microsoft Visual FoxPro Driver};SourceDB=d:\;SourceType=DBF;"
с такой строкой из 2-мест одну таблицу открываю, т.е. неблокирована, у тебя как? каким образом блокировка проявляется?
← →
kombat (2002-11-14 11:49) [9]блокировка проявляется в том что нельзя открыть эту табличку эксклюзивно в Фоксе. Может это конечно и невыполнимо в принципе, но нужно чтобы делфийская прога открыла себе табличку только для чтения, а проги на Фоксе работали с этой табличкой в это время как привыкли.
Halcyon не подходит, он денег стоит
← →
kombat (2002-11-14 12:01) [10]насколько я понял, то Фокс 2,6 есть в 3,5 Jet. Он какими приложениями устанавливается? или он по умолчанию в 2000 Проф присутствует?
← →
sniknik (2002-11-14 12:35) [11]"эксклюзивно" это только для сабя "в одно рыло" так сказать. Естественно нельзя держать открытыми таблицы когда пытаются так открыть.
Halcyon платная?
http://www.vodonosov.newmail.ru/develop/develop.htm
чтото я не заметил здесь упомининия о деньгах. Конечно если принципииаааально хочеш зарегистрированную версию ... :(
> Фокс 2,6 есть в 3,5 Jet. Есть и ставится тем же Mdac-ом но версии помладше 2.0 помоему последняя. Но проблема, если у тебя уже стоит Jet 4.0 то из 3.5 ISAM-ы не вызываются! (у меня не получилось) прямое подключение к 3.5 ничего не дает как и ссылка из 4.0 на 3.5, максимум что получается открыть через них базу Access 97. Возможно синтаксис там другой, или руки такие кривые :(. если у тебя получится напиши как.
>по умолчанию в 2000 Проф присутствует? а хрен его знает, по моему в проф по умолчанию Mdac 2.5 ставится уже без него. Но у меня стоит, может и с умолчания осталась может после экспериментов разных, у меня на работе стоит Jet 4.0 и 3.5 дома Jet 4.0 и 3.5 и 3.0. Поставь вчистую и посмотри.
← →
kombat (2002-11-15 12:20) [12]После длительных исследований, я для понял что лучшый вариант для мой задачи это связка HalcyonDataSet & ClientDataSet
работаем примерно так
cdsDogovor.Close;
tDogovor.Close;
tDogovor.DatabaseName := sFoxBasePath;
tDogovor.TableName := "dogovor.dbf";
cdsDogovor.Open;
cdsDogovor.AddIndex("IdxTel", "Tel", [], "", "", 0);
cdsDogovor.IndexDefs.Update;
cdsDogovor.IndexName := "IdxTel";
cdsDogovor.Filtered := true;
tDogovor.Close;
т.е работаем методами Filter, Locate
это конечно лишает меня преимуществ SQL и при больших таблицах неэффективно, но у меня таблички 1-10 тыс записей, работает нормально, файлы не блокируются, и такая связка открывает нормально файлы что уже используются.
Всем спасибо за помощь
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.12.05;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.007 c