powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / VFP ODBC и Index IDX
25 сообщений из 26, страница 1 из 2
VFP ODBC и Index IDX
    #35823733
AlexanderB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Народ как подключить индексы IDX через ODBC VFP. Все прекрасно работает только индексы не подхватываются. Версия DBF от FP2.6 драйвера поледние с MSDN. Наводит меня на мысль одно если через DBAse подключать то нужно создать файли с расширение MyTable.inf/ Внутри его написано [dBase] NDX=mytable1.ndx и т.д. Пробовал создать и вставить секцию [FoxPro 2.6] не хочет брать их, но Insert, Update работают в таблице, но индексы не обновляютя. ПОМОГИТЕ а то уже крыша не спеша сьежать начинает. Все понимаю что выбростить надо это дерьмо, но филиалы работают на этом дерьме и никуда не уйдешь...

Модератор: Тема перенесена из форума "Microsoft SQL Server".
...
Рейтинг: 0 / 0
VFP ODBC и Index IDX
    #35823851
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
выполнить команду
set index to ...idx
пробовали?
...
Рейтинг: 0 / 0
VFP ODBC и Index IDX
    #35823955
AlexanderB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробовал
Syntax error or access violation
...
Рейтинг: 0 / 0
VFP ODBC и Index IDX
    #35824033
AlexanderB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Поясняю, что подключаюсь не через Фокс, а через ODBC
...
Рейтинг: 0 / 0
VFP ODBC и Index IDX
    #35824037
AlexanderBПоясняю, что подключаюсь не через Фокс, а через ODBC
Это уже понятно. Команду в студию.
...
Рейтинг: 0 / 0
VFP ODBC и Index IDX
    #35828749
AlexanderB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну и где команда, такое впечатление что таким извратом никто не занимался.
Ну что-ж и на этом спасибо.
...
Рейтинг: 0 / 0
VFP ODBC и Index IDX
    #35828967
AlexanderBНу и где команда, такое впечатление что таким извратом никто не занимался.
Ну что-ж и на этом спасибо.
Сударь, это Вас просят привести команду, на которойй у Вас ошибка. Или мы еще и должны ее отгадать?
...
Рейтинг: 0 / 0
VFP ODBC и Index IDX
    #35847802
AlexanderB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Извините затупил


var rso=new ActiveXObject("ADODB.Recordset");
var query="insert into MyTable values(11,2,333,'TEXT")";
rso.open(query, "Driver={Microsoft dBase Driver (*.dbf)};DSN=dBase 5.0;SourceDB=C:\\;SourceType=DBF;Collate=MACHINE");

она работает но в индексах изменений нет;
...
Рейтинг: 0 / 0
VFP ODBC и Index IDX
    #35847813
AlexanderB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вдогонку
Это с Dbase работает а Fox-выми индексами нет.
...
Рейтинг: 0 / 0
VFP ODBC и Index IDX
    #35847918
AlexanderB,
Вы наконец-то закончите вводить и себя, и других в заблуждение?
Как согласуются данные в приведенных ниже цитатах?
Версия DBF от FP2.6 драйвера поледние с MSDN
"Driver={Microsoft dBase Driver (*.dbf)};DSN=dBase 5.0;S
Кстати, что это за драйвер такой из первой цитаты? Где Вы такой раздобыли при его полном отстутствии в природе?
С чего Вы взяли, что драйвер из второй цитаты хоть что-то знает про фоксовые фичи?
Драйвер для фокса обычно называется "Microsoft Visual Foxpro Table Driver". Это для ODBC. Lkz OLEDB драйвер называется "VFP OLEDDB Provider".
...
Рейтинг: 0 / 0
VFP ODBC и Index IDX
    #35852248
AlexanderB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Версия DBF от FP2.6 драйвера поледние с MSDN
а вот с этого место поподробнее....
(чего уже только не накачал, скоро весь MSDN солью....)
Данный драйвер поддерживает индексы фокса от 2.6, я правильно понял

И еще раз поподробнее, есть ПО разработанное на Clipper базы DBF но индексы используются от фокса(прилинкованы доп библиотеки от фокса DBFSIX)
Задача - средствами ODBC закатать данные из другого источника в вышеуказазнные базы
с нормальной работой индексов

Надеюсь на этот раз не ввел заблуждение
...
Рейтинг: 0 / 0
VFP ODBC и Index IDX
    #35852347
AlexanderBДанный драйвер поддерживает индексы фокса от 2.6, я правильно понял
Так какой такой "данный"? Про фоксовые индексы знают только драйверы Foxpro, а не какие-то драйверы для работы с dbf. Что тут непонятного?
...
Рейтинг: 0 / 0
VFP ODBC и Index IDX
    #35857088
AlexanderB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну ставил я Microsoft Visual Foxpro Table Driver и что, не хочет он с индексами дружить, он их просто игнорирует(нет изменений в них). С DBF-кой работает а индексов будто и нет хотя все одном каталоге лежит.
...
Рейтинг: 0 / 0
VFP ODBC и Index IDX
    #35857099
AlexanderBНу ставил я Microsoft Visual Foxpro Table Driver и что, не хочет он с индексами дружить, он их просто игнорирует(нет изменений в них). С DBF-кой работает а индексов будто и нет хотя все одном каталоге лежит.
Индексы IDX никогда сами и не подхватывались. Подключение их надо всегда делать явно.
...
Рейтинг: 0 / 0
VFP ODBC и Index IDX
    #35857122
AlexanderB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
как это сотворить
...
Рейтинг: 0 / 0
VFP ODBC и Index IDX
    #35857123
AlexanderB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AlexanderBкак это сотворить
если в настройках ODBC драйвера, то он даже не запрашивает есть они или нет
...
Рейтинг: 0 / 0
VFP ODBC и Index IDX
    #35857138
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не уверен, но, как мне кажется, у вас ничего не получится.

Индексы IDX - это как бы "локальные" индексы. Создаются "по месту" для решения локальных задач. Поэтому автоматически никогда не подключаются. Как следствие, разработчиков драйверов не особо и заботило их поддержание, поскольку при работе с такими индексами они просто пересоздавались при старте приложения.

Тем более, у вас вообще не стандартная ситуация - таблицы Clipper + некий драйвер для поддержания IDX формата FoxPro. На такую связку ни один драйвер "в здравом уме" никто "затачивать" не будет.

В общем, решение будет примерно такое:

1. Средствами ODBC закачать данные в DBF-таблицы
2. Средствами самого ПО выполнить переиндексацию (наверняка должна быть такая утилита)

При этом, имейте в виду, что формат DBF-таблиц от Clipper несколько отличается от формата DBF-таблиц для FoxPro. Это значит, что не все таблицы можно будет модифицировать.

Правда, есть еще такой продукт, называется

Advantage Database Server

Домашняя страница производителя здесь

Advantage Developer Zone

Эта штука платная, но они заявляют о том, что работают и с таблицами Clipper и с таблицами FoxPro с поддержкой их индексов. Даже были слухи о том, что у них есть бесплатные драйверы ODBC для таблиц Clipper. Но я так их и не нашел

Небольшое обсуждение этого продукта было здесь

Advantage Database Server
...
Рейтинг: 0 / 0
VFP ODBC и Index IDX
    #35857251
AlexanderB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1. Средствами ODBC закачать данные в DBF-таблицы
2. Средствами самого ПО выполнить переиндексацию (наверняка должна быть такая утилита)


Вобщем я так и предпологал, что полная З... Но 600-800тыс. записей каждое утро меня сьедят вместе с костями(это минут 30-40 = создание индексов)

Ну впрочем и на этом спасибо.
...
Рейтинг: 0 / 0
VFP ODBC и Index IDX
    #35857859
gepard45
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Рекомендации:
- использовать вместо IDX индексов CDX (см. документацию IDX индексы оставлены для совместимости с FoxPro 2.0)
- если Вы полностью обновляете таблицу, то надо использовать команду ZAP, а дальше Append

И не надо грязи добавление в таблицу 600-800 тысяч записей в Foxpro занимает не более нескольких минут
...
Рейтинг: 0 / 0
VFP ODBC и Index IDX
    #35858484
Моряк с Ордынки
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gepard45Рекомендации:
- использовать вместо IDX индексов CDX (см. документацию IDX индексы оставлены для совместимости с FoxPro 2.0)
- если Вы полностью обновляете таблицу, то надо использовать команду ZAP, а дальше Append

И не надо грязи добавление в таблицу 600-800 тысяч записей в Foxpro занимает не более нескольких минут

Уважаемый, использовали IDX-индексы в старых программах (до 1994 года в основном, когда FoxPro 2.6 появился), коих настрогали за почти 20 лет видимо-невидимо... Ну многие конечно уже устарели, но самые-самые все еще живут. Я вот лично не знаю, найду ли время, чтоб переделать хотя бы часть из работающих программ... Я их уделал только на предмет печати на лазерном принтере (подключил программу Sprint), а перелопатить кучу prg-текста на предмет изменения индексов просто не в состоянии, т.к. загружен другими делами...

- 800 тысяч за неск. минут?.. Ну не знаю, не пробовал... есть сомнения...
...
Рейтинг: 0 / 0
VFP ODBC и Index IDX
    #35858621
gepard45
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По поводу 600-800 тыс. записей это факт, проверено.
На самом деле IDX и CDX не так критично (технология Rusmore поддерживает и те и другие, по заявам Билла, но CDX это существуящая схема)
Главное для оптимизации добавления понимать, следущие:
- команда Delete All, не удаляет физически записи а делает метку о удалении, по этому она работает на порядок медленние чем команда ZAP, котороая просто тупо чистить заголовок файла
- далее очень сильно зависит, где вы запустили программу на сервере или локальной станции
...
Рейтинг: 0 / 0
VFP ODBC и Index IDX
    #35862167
AlexanderB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
- 800 тысяч за неск. минут?.. Ну не знаю, не пробовал... есть сомнения...[/quot]

Это что за фокс такой что за несколко секунд...
у меня 4 индекса готовиться на серваке (круче некуда) 25-30 мин.
...
Рейтинг: 0 / 0
VFP ODBC и Index IDX
    #35862173
AlexanderB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
gepard45Рекомендации:
- использовать вместо IDX индексов CDX (см. документацию IDX индексы оставлены для совместимости с FoxPro 2.0)
- если Вы полностью обновляете таблицу, то надо использовать команду ZAP, а дальше Append

И не надо грязи добавление в таблицу 600-800 тысяч записей в Foxpro занимает не более нескольких минут

Мудро!!! компиленые проги без исходников - ЗАДАЧА.
...
Рейтинг: 0 / 0
VFP ODBC и Index IDX
    #35865936
gepard45
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все же Вы определитись:
- Вы одноразово обнавляете всю таблицу или только ее часть
- если всю Вы: 1-можете удалить все индексы в существующей таблице 2-добавить в таблицу 3- создать индексы. (использвание команды Zap приблизительно дает такие же результаты)
- далее как я говорил очень ВАЖНО, где Вы запускаете приложение на сервере или клиенте (разниза во времени может составить более 70 процент, если конечно сервер не загружен другими задачами по самое не балуй)
- ну конечно еще есть прямая взаимосвязь длины записи в таблицы и длины индекса, то прямая зависимость длина - быстродействие винчестера (это кстати общая зависимость и не зависти от языка реализации)
...
Рейтинг: 0 / 0
VFP ODBC и Index IDX
    #35865943
gepard45
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, забыл, для работы с индексами таблицами Вам совершенно не нужно "лезть" в текст программы. Главное правило, оставте индексы разработчика такими как есть, а свои можете добавлять сколько угодно. Памятка: в принципе по быстродействию, особенно на этапе добавления, IDX и CDX индексы можно считать равноценными
...
Рейтинг: 0 / 0
25 сообщений из 26, страница 1 из 2
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / VFP ODBC и Index IDX
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]