Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.05;
Скачать: CL | DM;

Вниз

Какой то непонятный этот 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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.018 c
1-14570
Vcoder
2002-11-23 20:22
2002.12.05
TCanvas.ClipRect : как изменить?


3-14433
Asderg
2002-11-18 10:22
2002.12.05
как узнать в запросе что поле ключевое?


7-14849
Vitum
2002-10-02 05:37
2002.12.05
Как прочитать значения Perfomance Objects and Counters


14-14756
Anar
2002-11-14 01:21
2002.12.05
Рекорды


1-14492
Daken
2002-11-26 07:15
2002.12.05
Помогите вытащить символ