powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Удаленные данные
20 сообщений из 20, страница 1 из 1
Удаленные данные
    #32650386
Khor-Olga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет всем! Я пока новичек. Вопросы могут быть глупые. Нужен совет
Есть удаленный сервер. База - DB2.
Хочу приконнектится, получить данные на экран, удалить, добавить и т.д.
Все в рамках одной транзакции. Хочу много еще другого.
Вопрос в том, по какой технологии лучше сделать?
Через SQL Pass Through или что-то другое.
Пробовала разные технологии - коряво получается.
Не знаю на чем остановится и что развивать дальше.
Попутно. На Delhpi работала по технологии модальных форм.
Кк в Лисе удобней работать?
...
Рейтинг: 0 / 0
Удаленные данные
    #32650441
Соня_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можешь для начала посмотреть работу с удаленными данными с помощью сквозных запросов ( SQL Pass Through ), мне кажется, это проще для начала.
А насчет того, по какой технологии лучше делать... Все варианты хороши.
Сквозные запросы хороши тем, что все хорошо просматривается (для каждого действия - своя команда).
Есть еще удаленные представления (RemoteView) - в них все напрямую практически работает - изменяешь данные в настроенном RemoteView, и они меняются на сервере. Впрочем, все там тоже настраивается.
Так что начинай разбираться с этим, потом сама поймешь что лучше.
...
Рейтинг: 0 / 0
Удаленные данные
    #32650469
Khor-Olga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Копнула и то, и то
Пока трудно два колупать.
Что практичнее - не понятно.
...
Рейтинг: 0 / 0
Удаленные данные
    #32650517
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Khor-OlgaПривет всем! Я пока новичек. Вопросы могут быть глупые. Нужен совет
Есть удаленный сервер. База - DB2.
Хочу приконнектится, получить данные на экран, удалить, добавить и т.д.
Все в рамках одной транзакции. Хочу много еще другого.
Вопрос в том, по какой технологии лучше сделать?
Через SQL Pass Through или что-то другое.
Пробовала разные технологии - коряво получается.
Не знаю на чем остановится и что развивать дальше.
Что практичнее зависит от конкретной постановки задачи.

Remote View - проще (меньше кодить), но SQL Pass Through - универсальнее.
Я бы посоветовал пока остановиться на Remote View (и Cursor Adapter, если у Вас VFP8). Переключиться на SQL Pass Through если возникнет необходимость будет не проблема.

Khor-OlgaПопутно. На Delhpi работала по технологии модальных форм.
Кк в Лисе удобней работать?

Работайте в основном окне FoxPro (_SCREEN). В принципе, можно как в Delphi через формы As Top-Level, но программно это несколько сложнее и я не вижу особой необходимости.

Да, надеюсь, знаете про команду READ EVENTS. Новички обычно про нее вспоминают, только когда EXE мелькает на экране и тут же закрывается.
...
Рейтинг: 0 / 0
Удаленные данные
    #32650564
Khor-Olga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВлидимирМ

Спасибо за советы. На READ EVENTS уже зависала.

На Remote что-то не получилось правильно создать соединение.
На разных формах не видела View. И хотелось чтобы запрос на Connect
был адаптирован на русском и при не правильном пароле не коннектиться.
Что-то не пошло, опыта маловато .Но с Гридом было проще
На SQL Pass Through коннект - все Ok, но много ручками прописывать приходится.
Попутно вопрос. В Init формы проверяютя какие-то условия.
При определенных вариантах хотелост дальше на Fctivate не идти.
Но Destroy, Deactivate, QueryUnL не срабатывают. Проваливаюсь на Activate
Какие-то свойства формы надо прописывать еще?
...
Рейтинг: 0 / 0
Удаленные данные
    #32650650
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если в методе Init или Load-формы дать команду

RETURN .F.

То загрузка формы будет прервана и форма так и не загрузится.

Если не ошибаюсь, то окно запроса на Connect берется из Run-Time библиотеки. И если библиотека руссифицирована, то и окно запроса будет по русски.

Впрочем, не особо сложно нарисовать такую форомочку самостоятельно.

Лично я делал формочку только для ввода логина и пароля, а все остальное прописывал в настроечных файлах программы. Я как-то не думаю, что пользователи будут менять имя сервера или имя базы данных. Т.е. такое возможно, но скорее со стороны админа. Значит пользователю это не нужно ни с какого бока.

Ну, и сделал подавление выдачи этой формочки. Т.е. если соединение не прошло, просто пишу свое сообщение. Поищи здесь на форуме по слову "SQLStringConnect" как это сделать.
...
Рейтинг: 0 / 0
Удаленные данные
    #32650732
Khor-Olga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВладимирМ
За return спасибо
Вместо SqlStringConnect я пользовалась SQLConnect
Думаю , что это почти одно и то же. Или я ошибаюсь?
Формочку с логином и Passw - делала. Все Ok - для SQL PassThrough.

Хотелось бы с Remote разобраться. Что-то не получ.
Или не так создала ODBC - драйвер, или в голове все перемешалось.
По книгам делаю - не то. Уточняю, что DB2. Может в этом проблема?
...
Рейтинг: 0 / 0
Удаленные данные
    #32650773
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Значит так.

Чтобы создать Remote View необходимо предварительно создать в базе данных еще один объект. Этот объект называется Connection.

В объекте Connection и происходит настройка соединения с сервером. Причем до версии VFP6 включительно указать конкретный Connection для Remote View динамически (т.е. в программе) было большой проблемой. Remote View жестко связывалось с конкретным объектом Connection (это одна из причин отказа от Remote View)

В объекте Connection прописывается способ соединения с сервером. Возможны 2 принципиальных варианта (переключатель Specify Data Source):

1) Через предварительно созданный DSN - аналог SQLConnect()
2) Явно прописать все нужные реквизиты игнорируя DSN - аналог SQLStringConnect()

Сделай поиск по форуму по слову "SQLStringConnection" и поймешь, что там надо прописывать.

Какой именно сервер используется - не принципиально. Логика работы со всеми серверами одинаковая.

После создания объекта Connection создаешь Remote View и явно прописываешь какой объект Connection будет использоваться для подключения к серверу.
...
Рейтинг: 0 / 0
Удаленные данные
    #32650806
Khor-Olga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Чтобы добраться до Connect надо создать новую DataBase, наверное?
...
Рейтинг: 0 / 0
Удаленные данные
    #32650817
Khor-olga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Продолжение

У меня в проекте еще нет DataBase. Поэтому к Connect и Remote только через нее можно добраться. И тут проблема. Плаваю еще
...
Рейтинг: 0 / 0
Удаленные данные
    #32650872
Khor-Olga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пока не отвечайте
Пробую сама
Что-то получ
спасибо за ответы
...
Рейтинг: 0 / 0
Удаленные данные
    #32651399
Khor-Olga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВладмирМ

Воспользовалась вашим советом. Поискала по ключевым словам.
Если честно, не все понятно. Очевидно работа в Delphi через BDE и
компоненты прямого доступа накладывает пока огранечение на мое понимание.
Я понимаю так: загрузил приложение -> ввел 1 раз пароль -> приконнект->
и дальше на любой форме видишь любой View.
Но похоже у меня не видит. Ошибка типа : ошибка при загрузке файла ....
...
Рейтинг: 0 / 0
Удаленные данные
    #32651467
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да нет, логика та же самая. Пойдем с самого начала.

Прежде всего, необходимо организовать место, где будут храниться все создаваемые объекты. Это место называется "Конейнер базы данных" (файл DBC, DCX, DCT). В принципе, можно и без него, но это потребует написание кучи кода.

Для установки соединения с сервером необходимо создать специальный объект в этом контейнере, который называется Connection. Для простоты используй соединение по DSN, как ты это делела в SQLConnection(). Т.е. надо задать 3 параметра: имя DSN, имя пользователя и пароль.

Теперь в любой момент, когда потребуется установить связь будет использован этот объект Connection с заданными реквизитами.

Далее создаешь объект Remote View. На самом перевом шаге тебе будет предложено указать объект Connection из контейнера базы данных или создать новый объект Connection на основе существующих DSN.

После создания Remote View просто включаешь его в DataEnvironment твоей формы и запускаешь ее на выполнение.

Это общая схема. Чтобы уточнить в чем там у тебя ошибка надо знать точное сообщение об ошибке.
...
Рейтинг: 0 / 0
Удаленные данные
    #32651517
Khor-Olga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВладимирМ

Спасибо, что уделяете столько внимания.
Делала то же, что вы написали.

Итак
1. Создан ODBC
2. В проекте создана на закл. Data -> Databases -> data1
3. В data1 созданан Connections , Remote View(View1)
4. В Data Enver формы добавила View1
5. Делаю Requery

И ошибка. Что доступ к Data1 запрещен. Но при загрузке я приконнектилась
Значит, видеть должна все. Или все-таки надо делать что-то типа
Open database data1.dbf chared ...?
...
Рейтинг: 0 / 0
Удаленные данные
    #32651521
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дайте в командом окне такую команду:

USE View1
BROWSE

Что получилось?

PS: Команда Requery() используется для обновления информации во View ранее открытом по команде USE.
...
Рейтинг: 0 / 0
Удаленные данные
    #32651545
Khor-Olga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В среде разработки все работает
А в скомпилир. ЕХЕ - нет.

Может
...
Рейтинг: 0 / 0
Удаленные данные
    #32651579
1234567
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Напишите:

1. OPEN DATABASE <путь_к_файлу_базы_данных> SHARED
(можно для верности второй командой SET DATABASE TO <имя_базы данных>)
2. USE <представление>
...
Рейтинг: 0 / 0
Удаленные данные
    #32651588
Khor-Olga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Получается двойное действие:
SqlConnect и Open DataBase?
так и надо?
Я так делала, но подумала, что это не правильно.
Все-таки так?
...
Рейтинг: 0 / 0
Удаленные данные
    #32651602
1234567
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OPEN DATABASE - это открытие базы данных VFP
Connection - это коннект к удаленному источнику

Короче. Сначала надо открыть БД фокса, иначе он не поймет, что нужно открыть представление, представление на диске не валяется, а записано в контейнере базы данных VFP. Потом при открытии удаленного представления фокс сам сделает запрос к удаленному источнику и заполнит представление данными.
...
Рейтинг: 0 / 0
Удаленные данные
    #32651620
Khor-Olga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо всем за обсуждение и советы.
Надеюсь и в дальнейшем на такое же сотрудничество.
СПАСИБО
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Удаленные данные
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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