|
VFP ODBC и Index IDX
|
|||
---|---|---|---|
#18+
Народ как подключить индексы IDX через ODBC VFP. Все прекрасно работает только индексы не подхватываются. Версия DBF от FP2.6 драйвера поледние с MSDN. Наводит меня на мысль одно если через DBAse подключать то нужно создать файли с расширение MyTable.inf/ Внутри его написано [dBase] NDX=mytable1.ndx и т.д. Пробовал создать и вставить секцию [FoxPro 2.6] не хочет брать их, но Insert, Update работают в таблице, но индексы не обновляютя. ПОМОГИТЕ а то уже крыша не спеша сьежать начинает. Все понимаю что выбростить надо это дерьмо, но филиалы работают на этом дерьме и никуда не уйдешь... Модератор: Тема перенесена из форума "Microsoft SQL Server". ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2009, 08:23 |
|
VFP ODBC и Index IDX
|
|||
---|---|---|---|
#18+
выполнить команду set index to ...idx пробовали? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2009, 09:34 |
|
VFP ODBC и Index IDX
|
|||
---|---|---|---|
#18+
Попробовал Syntax error or access violation ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2009, 10:22 |
|
VFP ODBC и Index IDX
|
|||
---|---|---|---|
#18+
Поясняю, что подключаюсь не через Фокс, а через ODBC ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2009, 10:58 |
|
VFP ODBC и Index IDX
|
|||
---|---|---|---|
#18+
AlexanderBПоясняю, что подключаюсь не через Фокс, а через ODBC Это уже понятно. Команду в студию. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2009, 10:59 |
|
VFP ODBC и Index IDX
|
|||
---|---|---|---|
#18+
Ну и где команда, такое впечатление что таким извратом никто не занимался. Ну что-ж и на этом спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2009, 07:15 |
|
VFP ODBC и Index IDX
|
|||
---|---|---|---|
#18+
AlexanderBНу и где команда, такое впечатление что таким извратом никто не занимался. Ну что-ж и на этом спасибо. Сударь, это Вас просят привести команду, на которойй у Вас ошибка. Или мы еще и должны ее отгадать? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2009, 10:01 |
|
VFP ODBC и Index IDX
|
|||
---|---|---|---|
#18+
Извините затупил 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"); она работает но в индексах изменений нет; ... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2009, 11:38 |
|
VFP ODBC и Index IDX
|
|||
---|---|---|---|
#18+
Вдогонку Это с Dbase работает а Fox-выми индексами нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2009, 11:40 |
|
VFP ODBC и Index IDX
|
|||
---|---|---|---|
#18+
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". ... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2009, 12:15 |
|
VFP ODBC и Index IDX
|
|||
---|---|---|---|
#18+
Версия DBF от FP2.6 драйвера поледние с MSDN а вот с этого место поподробнее.... (чего уже только не накачал, скоро весь MSDN солью....) Данный драйвер поддерживает индексы фокса от 2.6, я правильно понял И еще раз поподробнее, есть ПО разработанное на Clipper базы DBF но индексы используются от фокса(прилинкованы доп библиотеки от фокса DBFSIX) Задача - средствами ODBC закатать данные из другого источника в вышеуказазнные базы с нормальной работой индексов Надеюсь на этот раз не ввел заблуждение ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2009, 08:19 |
|
VFP ODBC и Index IDX
|
|||
---|---|---|---|
#18+
AlexanderBДанный драйвер поддерживает индексы фокса от 2.6, я правильно понял Так какой такой "данный"? Про фоксовые индексы знают только драйверы Foxpro, а не какие-то драйверы для работы с dbf. Что тут непонятного? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2009, 09:40 |
|
VFP ODBC и Index IDX
|
|||
---|---|---|---|
#18+
Ну ставил я Microsoft Visual Foxpro Table Driver и что, не хочет он с индексами дружить, он их просто игнорирует(нет изменений в них). С DBF-кой работает а индексов будто и нет хотя все одном каталоге лежит. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2009, 14:23 |
|
VFP ODBC и Index IDX
|
|||
---|---|---|---|
#18+
AlexanderBНу ставил я Microsoft Visual Foxpro Table Driver и что, не хочет он с индексами дружить, он их просто игнорирует(нет изменений в них). С DBF-кой работает а индексов будто и нет хотя все одном каталоге лежит. Индексы IDX никогда сами и не подхватывались. Подключение их надо всегда делать явно. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2009, 14:47 |
|
VFP ODBC и Index IDX
|
|||
---|---|---|---|
#18+
как это сотворить ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2009, 15:29 |
|
VFP ODBC и Index IDX
|
|||
---|---|---|---|
#18+
AlexanderBкак это сотворить если в настройках ODBC драйвера, то он даже не запрашивает есть они или нет ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2009, 15:31 |
|
VFP ODBC и Index IDX
|
|||
---|---|---|---|
#18+
Не уверен, но, как мне кажется, у вас ничего не получится. Индексы 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 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2009, 15:59 |
|
VFP ODBC и Index IDX
|
|||
---|---|---|---|
#18+
1. Средствами ODBC закачать данные в DBF-таблицы 2. Средствами самого ПО выполнить переиндексацию (наверняка должна быть такая утилита) Вобщем я так и предпологал, что полная З... Но 600-800тыс. записей каждое утро меня сьедят вместе с костями(это минут 30-40 = создание индексов) Ну впрочем и на этом спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2009, 20:09 |
|
VFP ODBC и Index IDX
|
|||
---|---|---|---|
#18+
Рекомендации: - использовать вместо IDX индексов CDX (см. документацию IDX индексы оставлены для совместимости с FoxPro 2.0) - если Вы полностью обновляете таблицу, то надо использовать команду ZAP, а дальше Append И не надо грязи добавление в таблицу 600-800 тысяч записей в Foxpro занимает не более нескольких минут ... |
|||
:
Нравится:
Не нравится:
|
|||
09.03.2009, 00:42 |
|
VFP ODBC и Index IDX
|
|||
---|---|---|---|
#18+
gepard45Рекомендации: - использовать вместо IDX индексов CDX (см. документацию IDX индексы оставлены для совместимости с FoxPro 2.0) - если Вы полностью обновляете таблицу, то надо использовать команду ZAP, а дальше Append И не надо грязи добавление в таблицу 600-800 тысяч записей в Foxpro занимает не более нескольких минут Уважаемый, использовали IDX-индексы в старых программах (до 1994 года в основном, когда FoxPro 2.6 появился), коих настрогали за почти 20 лет видимо-невидимо... Ну многие конечно уже устарели, но самые-самые все еще живут. Я вот лично не знаю, найду ли время, чтоб переделать хотя бы часть из работающих программ... Я их уделал только на предмет печати на лазерном принтере (подключил программу Sprint), а перелопатить кучу prg-текста на предмет изменения индексов просто не в состоянии, т.к. загружен другими делами... - 800 тысяч за неск. минут?.. Ну не знаю, не пробовал... есть сомнения... ... |
|||
:
Нравится:
Не нравится:
|
|||
09.03.2009, 17:41 |
|
VFP ODBC и Index IDX
|
|||
---|---|---|---|
#18+
По поводу 600-800 тыс. записей это факт, проверено. На самом деле IDX и CDX не так критично (технология Rusmore поддерживает и те и другие, по заявам Билла, но CDX это существуящая схема) Главное для оптимизации добавления понимать, следущие: - команда Delete All, не удаляет физически записи а делает метку о удалении, по этому она работает на порядок медленние чем команда ZAP, котороая просто тупо чистить заголовок файла - далее очень сильно зависит, где вы запустили программу на сервере или локальной станции ... |
|||
:
Нравится:
Не нравится:
|
|||
09.03.2009, 19:53 |
|
VFP ODBC и Index IDX
|
|||
---|---|---|---|
#18+
- 800 тысяч за неск. минут?.. Ну не знаю, не пробовал... есть сомнения...[/quot] Это что за фокс такой что за несколко секунд... у меня 4 индекса готовиться на серваке (круче некуда) 25-30 мин. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2009, 14:07 |
|
VFP ODBC и Index IDX
|
|||
---|---|---|---|
#18+
gepard45Рекомендации: - использовать вместо IDX индексов CDX (см. документацию IDX индексы оставлены для совместимости с FoxPro 2.0) - если Вы полностью обновляете таблицу, то надо использовать команду ZAP, а дальше Append И не надо грязи добавление в таблицу 600-800 тысяч записей в Foxpro занимает не более нескольких минут Мудро!!! компиленые проги без исходников - ЗАДАЧА. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2009, 14:09 |
|
VFP ODBC и Index IDX
|
|||
---|---|---|---|
#18+
Все же Вы определитись: - Вы одноразово обнавляете всю таблицу или только ее часть - если всю Вы: 1-можете удалить все индексы в существующей таблице 2-добавить в таблицу 3- создать индексы. (использвание команды Zap приблизительно дает такие же результаты) - далее как я говорил очень ВАЖНО, где Вы запускаете приложение на сервере или клиенте (разниза во времени может составить более 70 процент, если конечно сервер не загружен другими задачами по самое не балуй) - ну конечно еще есть прямая взаимосвязь длины записи в таблицы и длины индекса, то прямая зависимость длина - быстродействие винчестера (это кстати общая зависимость и не зависти от языка реализации) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2009, 20:54 |
|
VFP ODBC и Index IDX
|
|||
---|---|---|---|
#18+
Кстати, забыл, для работы с индексами таблицами Вам совершенно не нужно "лезть" в текст программы. Главное правило, оставте индексы разработчика такими как есть, а свои можете добавлять сколько угодно. Памятка: в принципе по быстродействию, особенно на этапе добавления, IDX и CDX индексы можно считать равноценными ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2009, 21:02 |
|
|
start [/forum/topic.php?fid=41&msg=35828749&tid=1586668]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
43ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 165ms |
0 / 0 |