powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как открыть SQL-индексы из FoxPro
11 сообщений из 11, страница 1 из 1
Как открыть SQL-индексы из FoxPro
    #33893533
catel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите, пожалуйста, с индексами!
Имеется реально работающая база на FoxPro. Решил перевести ее на SQL. Схематично сделал так:
На SQL- сервере создал базу basa1 . В ней таблица tabl . Для этой таблицы там же (на SQL-сервере) созданы индексы ind1 и ind2 . На локальном диске в базе basa2 создал удаленное представление tab для таблицы tabl . При команде
USE BASA2!TAB
таблица великолепно открывается и делается доступной для любых действий. Все прекрасно. В программе используется команда SEEK, для которой нужен индекс. При введении команды
USE BASA2!TAB INDEX IND1,IND2
Fox выдает ругательное сообщение, что в текущем каталоге индексы ind1 и ind2 не найдены. Все понятно, они не в текущем каталоге, а на SQL-сервере.
Как из фоксовской программы открыть эскюэлевскую таблицу с эскюэлевским же индексом?
...
Рейтинг: 0 / 0
Как открыть SQL-индексы из FoxPro
    #33893615
Гость.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Фоксик и будет ругаться, т.к. действительно нет индектов. Да, они есть на SQL-сервере, но для той таблицы, которая находится там же, т.е. на сервере. Эти индексы участвуют только в подготовке результата запроса для remote view.
...
Рейтинг: 0 / 0
Как открыть SQL-индексы из FoxPro
    #33893645
Urri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
catelКак из фоксовской программы открыть эскюэлевскую таблицу с эскюэлевским же индексом?Никак. В случае работы с клиент-сервером файл-серверные фишки придется перестать использовать.
Вместо USE+SET ORDER+SEEK нужно делать запрос, который вернет на клиента минимально необходимую для в дальнейшем выполняемой пользователем работы часть таблицы.
...
Рейтинг: 0 / 0
Как открыть SQL-индексы из FoxPro
    #33893651
Urri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Т.е. удаленное представление должно быть параметризованным.
Его, в свою очередь, можно будет проиндексировать, если необходимо, но это не будут индексы SQL SERVER-а.
...
Рейтинг: 0 / 0
Как открыть SQL-индексы из FoxPro
    #33893724
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Присоединяюсь к тому, что написал Urri...

В MS SQL Server 2005 есть возможность использовать явно индексы, но как написал Urri, делать это можно только в SQL запросах:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
-- Use the specifically named INDEX.
USE AdventureWorks ;
GO
SELECT c.FirstName, c.LastName, e.Title
FROM HumanResources.Employee e WITH (INDEX(IX_Employee_ManagerID))
JOIN Person.Contact c on e.ContactID = c.ContactID
WHERE ManagerID =  3  ;
GO

P.S. Вышеприведенный код - код, выполняемый в MS SQL Server 2005, а не на стороне FoxPro...
...
Рейтинг: 0 / 0
Как открыть SQL-индексы из FoxPro
    #33893734
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey Ch...
В MS SQL Server 2005 есть возможность использовать явно индексы ...
...WITH (INDEX(IX_Employee_ManagerID))...

Хинт оптимизатора ..WITH INDEX (...) появился, как минимум с MS SQL 7.0
С уважением, Алексей.
...
Рейтинг: 0 / 0
Как открыть SQL-индексы из FoxPro
    #33894336
catel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Большое спасибо за ответы. В принципе, я все это читал в руководствах и раньше, думал есть обходные пути в решении этой проблемы. Раз нельзя, то буду SELECT-ом "закидывать" выборку в курсор и работать с ней, как с таблицей. Дело в том, что сейчас в программе работает больше десяти пользователей (таблицы на сервере) и просто в целях безопасности нужен SQL-сервер. Ничего секретного в базе нет (результаты медицинских исследований), но "защиты от дурака" никакой. Как вы поняли из вопроса, я не профессиональный программист, по профессии я врач и написание баз данных для меня просто хобби. Еще раз большое спасибо.
...
Рейтинг: 0 / 0
Как открыть SQL-индексы из FoxPro
    #33899851
Kruchinin Pahan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
catelБольшое спасибо за ответы. В принципе, я все это читал в руководствах и раньше, думал есть обходные пути в решении этой проблемы. Раз нельзя, то буду SELECT-ом "закидывать" выборку в курсор и работать с ней, как с таблицей. Дело в том, что сейчас в программе работает больше десяти пользователей (таблицы на сервере) и просто в целях безопасности нужен SQL-сервер. Ничего секретного в базе нет (результаты медицинских исследований), но "защиты от дурака" никакой. Как вы поняли из вопроса, я не профессиональный программист, по профессии я врач и написание баз данных для меня просто хобби. Еще раз большое спасибо.

Не знаю, поможет нет, но иногда я предпочитаю работать таким образом:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
USE IN SELECT("Remote_View")
USE Remote_View IN  0  NODATA
SELECT Remote_View
CURSORSETPROP("Buffering",  3 )

INDEX ON Field TO SYS( 2015 )
Params_ = bla-bla-bla
=REQUERY("Remote_View")
...
SELECT Remote_View
CLOSE INDEXES
USE IN SELECT("Remote_View")

Тобишь, мы подготавливаем курсор без данных под вьюху, затем создаем локальный временный индекс. Потом запрашиваем данные с сервера (с нужными нам параметрами) индекс автоматом достраивается. После работы мы прибиваем индексы и закрываем вьюху. Все рады.
...
Рейтинг: 0 / 0
Как открыть SQL-индексы из FoxPro
    #33900982
Urri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
INDEX ON Field TO SYS(2015)

1. Лучше сначала запросить данные, потом проиндексировать.
2. ERASE потом как делать?
Лучше
x = SYS(2015)
INDEX ON Field TO (x)
.....
erase (x)
...
Рейтинг: 0 / 0
Как открыть SQL-индексы из FoxPro
    #33901018
Dimpon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Для любопытных
http://magegame.ru/?rf=42726f6461796761
...
Рейтинг: 0 / 0
Как открыть SQL-индексы из FoxPro
    #33902567
karly™
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DimponДля любопытных
http://magegame.ru/?rf=42726f6461796761
2Moderator
Удалите этого спамера, вместе со всеми сообщениями. Он и в других форумах отметился. Сайт свой раскручивает.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как открыть SQL-индексы из FoxPro
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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