Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Удаленные данные
|
|||
|---|---|---|---|
|
#18+
Привет всем! Я пока новичек. Вопросы могут быть глупые. Нужен совет Есть удаленный сервер. База - DB2. Хочу приконнектится, получить данные на экран, удалить, добавить и т.д. Все в рамках одной транзакции. Хочу много еще другого. Вопрос в том, по какой технологии лучше сделать? Через SQL Pass Through или что-то другое. Пробовала разные технологии - коряво получается. Не знаю на чем остановится и что развивать дальше. Попутно. На Delhpi работала по технологии модальных форм. Кк в Лисе удобней работать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2004, 10:36 |
|
||
|
Удаленные данные
|
|||
|---|---|---|---|
|
#18+
Можешь для начала посмотреть работу с удаленными данными с помощью сквозных запросов ( SQL Pass Through ), мне кажется, это проще для начала. А насчет того, по какой технологии лучше делать... Все варианты хороши. Сквозные запросы хороши тем, что все хорошо просматривается (для каждого действия - своя команда). Есть еще удаленные представления (RemoteView) - в них все напрямую практически работает - изменяешь данные в настроенном RemoteView, и они меняются на сервере. Впрочем, все там тоже настраивается. Так что начинай разбираться с этим, потом сама поймешь что лучше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2004, 10:56 |
|
||
|
Удаленные данные
|
|||
|---|---|---|---|
|
#18+
Копнула и то, и то Пока трудно два колупать. Что практичнее - не понятно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2004, 11:11 |
|
||
|
Удаленные данные
|
|||
|---|---|---|---|
|
#18+
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 мелькает на экране и тут же закрывается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2004, 11:28 |
|
||
|
Удаленные данные
|
|||
|---|---|---|---|
|
#18+
ВлидимирМ Спасибо за советы. На READ EVENTS уже зависала. На Remote что-то не получилось правильно создать соединение. На разных формах не видела View. И хотелось чтобы запрос на Connect был адаптирован на русском и при не правильном пароле не коннектиться. Что-то не пошло, опыта маловато .Но с Гридом было проще На SQL Pass Through коннект - все Ok, но много ручками прописывать приходится. Попутно вопрос. В Init формы проверяютя какие-то условия. При определенных вариантах хотелост дальше на Fctivate не идти. Но Destroy, Deactivate, QueryUnL не срабатывают. Проваливаюсь на Activate Какие-то свойства формы надо прописывать еще? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2004, 11:48 |
|
||
|
Удаленные данные
|
|||
|---|---|---|---|
|
#18+
Если в методе Init или Load-формы дать команду RETURN .F. То загрузка формы будет прервана и форма так и не загрузится. Если не ошибаюсь, то окно запроса на Connect берется из Run-Time библиотеки. И если библиотека руссифицирована, то и окно запроса будет по русски. Впрочем, не особо сложно нарисовать такую форомочку самостоятельно. Лично я делал формочку только для ввода логина и пароля, а все остальное прописывал в настроечных файлах программы. Я как-то не думаю, что пользователи будут менять имя сервера или имя базы данных. Т.е. такое возможно, но скорее со стороны админа. Значит пользователю это не нужно ни с какого бока. Ну, и сделал подавление выдачи этой формочки. Т.е. если соединение не прошло, просто пишу свое сообщение. Поищи здесь на форуме по слову "SQLStringConnect" как это сделать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2004, 12:17 |
|
||
|
Удаленные данные
|
|||
|---|---|---|---|
|
#18+
ВладимирМ За return спасибо Вместо SqlStringConnect я пользовалась SQLConnect Думаю , что это почти одно и то же. Или я ошибаюсь? Формочку с логином и Passw - делала. Все Ok - для SQL PassThrough. Хотелось бы с Remote разобраться. Что-то не получ. Или не так создала ODBC - драйвер, или в голове все перемешалось. По книгам делаю - не то. Уточняю, что DB2. Может в этом проблема? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2004, 12:48 |
|
||
|
Удаленные данные
|
|||
|---|---|---|---|
|
#18+
Значит так. Чтобы создать 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 будет использоваться для подключения к серверу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2004, 13:02 |
|
||
|
Удаленные данные
|
|||
|---|---|---|---|
|
#18+
Чтобы добраться до Connect надо создать новую DataBase, наверное? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2004, 13:17 |
|
||
|
Удаленные данные
|
|||
|---|---|---|---|
|
#18+
Продолжение У меня в проекте еще нет DataBase. Поэтому к Connect и Remote только через нее можно добраться. И тут проблема. Плаваю еще ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2004, 13:21 |
|
||
|
Удаленные данные
|
|||
|---|---|---|---|
|
#18+
Пока не отвечайте Пробую сама Что-то получ спасибо за ответы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2004, 13:39 |
|
||
|
Удаленные данные
|
|||
|---|---|---|---|
|
#18+
ВладмирМ Воспользовалась вашим советом. Поискала по ключевым словам. Если честно, не все понятно. Очевидно работа в Delphi через BDE и компоненты прямого доступа накладывает пока огранечение на мое понимание. Я понимаю так: загрузил приложение -> ввел 1 раз пароль -> приконнект-> и дальше на любой форме видишь любой View. Но похоже у меня не видит. Ошибка типа : ошибка при загрузке файла .... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2004, 16:46 |
|
||
|
Удаленные данные
|
|||
|---|---|---|---|
|
#18+
Да нет, логика та же самая. Пойдем с самого начала. Прежде всего, необходимо организовать место, где будут храниться все создаваемые объекты. Это место называется "Конейнер базы данных" (файл DBC, DCX, DCT). В принципе, можно и без него, но это потребует написание кучи кода. Для установки соединения с сервером необходимо создать специальный объект в этом контейнере, который называется Connection. Для простоты используй соединение по DSN, как ты это делела в SQLConnection(). Т.е. надо задать 3 параметра: имя DSN, имя пользователя и пароль. Теперь в любой момент, когда потребуется установить связь будет использован этот объект Connection с заданными реквизитами. Далее создаешь объект Remote View. На самом перевом шаге тебе будет предложено указать объект Connection из контейнера базы данных или создать новый объект Connection на основе существующих DSN. После создания Remote View просто включаешь его в DataEnvironment твоей формы и запускаешь ее на выполнение. Это общая схема. Чтобы уточнить в чем там у тебя ошибка надо знать точное сообщение об ошибке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2004, 17:10 |
|
||
|
Удаленные данные
|
|||
|---|---|---|---|
|
#18+
ВладимирМ Спасибо, что уделяете столько внимания. Делала то же, что вы написали. Итак 1. Создан ODBC 2. В проекте создана на закл. Data -> Databases -> data1 3. В data1 созданан Connections , Remote View(View1) 4. В Data Enver формы добавила View1 5. Делаю Requery И ошибка. Что доступ к Data1 запрещен. Но при загрузке я приконнектилась Значит, видеть должна все. Или все-таки надо делать что-то типа Open database data1.dbf chared ...? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2004, 17:28 |
|
||
|
Удаленные данные
|
|||
|---|---|---|---|
|
#18+
Дайте в командом окне такую команду: USE View1 BROWSE Что получилось? PS: Команда Requery() используется для обновления информации во View ранее открытом по команде USE. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2004, 17:30 |
|
||
|
Удаленные данные
|
|||
|---|---|---|---|
|
#18+
В среде разработки все работает А в скомпилир. ЕХЕ - нет. Может ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2004, 17:40 |
|
||
|
Удаленные данные
|
|||
|---|---|---|---|
|
#18+
Напишите: 1. OPEN DATABASE <путь_к_файлу_базы_данных> SHARED (можно для верности второй командой SET DATABASE TO <имя_базы данных>) 2. USE <представление> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2004, 17:50 |
|
||
|
Удаленные данные
|
|||
|---|---|---|---|
|
#18+
Получается двойное действие: SqlConnect и Open DataBase? так и надо? Я так делала, но подумала, что это не правильно. Все-таки так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2004, 17:54 |
|
||
|
Удаленные данные
|
|||
|---|---|---|---|
|
#18+
OPEN DATABASE - это открытие базы данных VFP Connection - это коннект к удаленному источнику Короче. Сначала надо открыть БД фокса, иначе он не поймет, что нужно открыть представление, представление на диске не валяется, а записано в контейнере базы данных VFP. Потом при открытии удаленного представления фокс сам сделает запрос к удаленному источнику и заполнит представление данными. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2004, 18:00 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=32650386&tid=1595998]: |
0ms |
get settings: |
10ms |
get forum list: |
23ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
77ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
65ms |
get tp. blocked users: |
1ms |
| others: | 262ms |
| total: | 459ms |

| 0 / 0 |
