powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Создание индекса через VFP OleDB Provider
14 сообщений из 14, страница 1 из 1
Создание индекса через VFP OleDB Provider
    #33058710
savolv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имеется файл (dbf). Для доступа использую VFP OleDB Provider. Программа под C#.NET. Как создать индекс для данного файла. Команда CREATE INDEX не прокатывает. Уже посещает смутное подозрение, что этот провайдер не умеет создавать индексы.
...
Рейтинг: 0 / 0
Создание индекса через VFP OleDB Provider
    #33058862
Cyv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
См. команды INDEX и ALTER TABLE
...
Рейтинг: 0 / 0
Создание индекса через VFP OleDB Provider
    #33058885
savolv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нельзя ли поконкретнее.
...
Рейтинг: 0 / 0
Создание индекса через VFP OleDB Provider
    #33076391
savolv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все еще актуально. Неужели никто никогда не сталкивался с этой проблемой?
Может подскажете куда еще обратиться?
...
Рейтинг: 0 / 0
Создание индекса через VFP OleDB Provider
    #33076406
Crip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВD MSDN например
...
Рейтинг: 0 / 0
Создание индекса через VFP OleDB Provider
    #33076424
Sergey Sizov.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2Savolv
Ты может все таки догадаешься привести текст твоей команды и текст сообщения об ошибке? Начался сезон отпусков и телепаты самые первые смылись :)
...
Рейтинг: 0 / 0
Создание индекса через VFP OleDB Provider
    #33076539
savolv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кратко задача. Имеется файл, передаваемый сторонней организацией. Файл создан FoxPro 2.6. Файл не индексированный. В нем порядка 12000 записей. Необходимо по ключевому полю LC_SOBES найти требуемые записи и заполнить определенные поля. Так вот без индекса этот файл заполняется порядка 5 минут, что недопустимо. (К слову в связке Delphi+BDE индексирование и заполнение этого же файла происходит за 1 сек!!!)
Если индекс создаю с помощью FoxPro, то затем индексированный файл заполняется за 8 сек, что уже приемлимо.

Индекс пытался создать с помощью OleDBCommand следующими способами

ALTER TABLE P2 ADD PRIMARY KEY LC_SOBES TAG LC_SOBES
ошибка:
Feature is not supported for non-.DBC tables

или так
Use P2
(без ошибок)

затем
INDEX ON LC_SOBES TAG LC_SOBES ADDITIVE
ошибка:
"Произошла одна или несколько ошибок во время обработки команды"

и вот так
CREATE INDEX LC_SOBESidx ON P2(LC_SOBES)
ошибка:
Syntax error
...
Рейтинг: 0 / 0
Создание индекса через VFP OleDB Provider
    #33076563
гость 36
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А в MSDN глянуть не судьба? Не поддерживается команда провайдером.
...
Рейтинг: 0 / 0
Создание индекса через VFP OleDB Provider
    #33076613
savolv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, успокоил. MSDN я смотрел в первую очередь и help к VFP OleDB Provider'у тоже смотрел. Но никак не мог поверить, что такую основу основ как индекс нельзя создать, пусть не командой index on, может еще какой способ есть. Собственно с этим и пришел сюда.
...
Рейтинг: 0 / 0
Создание индекса через VFP OleDB Provider
    #33076963
Crip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну как как. Установить VFP runtime.
И дальше например из VB Script.
oVFP = CreateObject("VisualFoxPro.Application")
и пошел....
...
Рейтинг: 0 / 0
Создание индекса через VFP OleDB Provider
    #33076986
Crip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ой ошибся. Забыл что это среда фокса. Сорри...
...
Рейтинг: 0 / 0
Создание индекса через VFP OleDB Provider
    #33078885
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi savolv!

Написань на VFP простейший COM-сервер. Из своей программы использовать его.
Например создать там метод

PROCEDURE MyCreateIndex(tcTable AS String, tcExpression AS String, tcTag AS String)
SET CPDIALOG OFF
SELECT 0
USE (m.tcTable) EXCLUSIVE ALIAS tmp
INDEX ON (m.tcExpression) TAG (m.tcTag)
USE IN SELECT("tmp")
ENDPROC

Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
Создание индекса через VFP OleDB Provider
    #33079002
savolv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да.... уж. Я был лучшего мнения о Microsoft. Все время писал на Delphi. А тут подвернулась небольшая задачка, думаю дай-ка залабаю на .NET, так сказать приобщусь к майкросовтовским технологиям. И такой косяк на ровном месте. Понятно, что COM сервер я делать не буду, но в любом случае спасибо за участие. Поковыряю в сторону Jet и ODBC, в противном случае вернусь для такого типа задач к своей старой доброй Delphi.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Создание индекса через VFP OleDB Provider
    #33987697
Starpom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все просто:
Код: plaintext
1.
2.
3.
4.
5.
6.
// Создаем Индекс (простой)
                    strComm =   "EXECSCRIPT(" +
                                "[USE Invoice!Invoice EXCLUSIVE]" + "+chr(13)+" +
                                "[INDEX ON INID TAG INID_KEY ADDITIVE]" +
                                ")";
                    ocCom.CommandText = strComm;
                    ocCom.ExecuteNonQuery();
-----------------------------------------------------------
Не сразу пришло мастерство к молодому саперу.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Создание индекса через VFP OleDB Provider
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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