Уважаемые господа!
Описание на сервере стоит главная база данных. И IP Server,слушающий порт,а также IP____.dll для обработки обращений извне к этой базе данных.
По TCP-IP к серверу подключаются клиенты(безусловно, внешний IP сети сервера- статический). VIEW на стороне клиента работают не быстро. Поэтому приходится выполнять выборки сервером на стороне сервера через удаленный вызов процедур , содержащихся в IP____.dll и затем результаты выборок передавать клиенту. Результаты выборок приходится хранить в физическом файле на сервере , т.к. IN-Memory файл создаваемый на сервере, недоступен с клиентской стороны.
КОНЕЧНО БЫЛО-БЫ ЗДОРОВО , ЧТОБЫ НА СТОРОНЕ СЕРВЕРА МОЖНО БЫЛО ХРАНИТЬ РЕЗУЛЬТАТЫ ВЫБОРОК В RAM, ПЕРЕДАТЬ КЛИЕНТУ,- И Empty()
Но я не знаю, как это сделать. Может быть, кто-то решал подобное?
Работа через IP Driver
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Re: Работа через IP Driver
Господа!
Может быть я просто задал глупый вопрос???
В какую сторону копать по поводу:
= делаю выборку на стороне сервера, хочу передать результат (таблицу) клиентскому приложению
Может быть я просто задал глупый вопрос???
В какую сторону копать по поводу:
= делаю выборку на стороне сервера, хочу передать результат (таблицу) клиентскому приложению
-
- Новичок
- Сообщения: 7
- Зарегистрирован: 12 Апрель 2008, 17:50
Re: Работа через IP Driver
Привет! Я пользую это постоянно:
Ffile::NAME=Ipx.Exec('LoadMKVEx',REK:KPC,PARS.P1) !Возвращает имя файла с ответом это мюбыть результат выборки в любом формате
IF Ffile::NAME<>'' THEN !если не пусто значит все ок
Ffile::LOCNAME=STDF.GetTempPath()&STDF.GetName(Ffile::NAME)&'.'&STDF.GetExt(Ffile::NAME) создаем имя для приема ответа
IPTransfer.Init(IPTransferReceive,0,0,0)
IPTransfer.Receive(Ffile::NAME,Ffile::LOCNAME) !получаем фай
SELF.Ipx.Exec('DEL',Ffile::NAME) !удаляем его на сервере
....
end
вообще для уменьшения траффика я еще zipую передаваемые файлы
Ffile::NAME=Ipx.Exec('LoadMKVEx',REK:KPC,PARS.P1) !Возвращает имя файла с ответом это мюбыть результат выборки в любом формате
IF Ffile::NAME<>'' THEN !если не пусто значит все ок
Ffile::LOCNAME=STDF.GetTempPath()&STDF.GetName(Ffile::NAME)&'.'&STDF.GetExt(Ffile::NAME) создаем имя для приема ответа
IPTransfer.Init(IPTransferReceive,0,0,0)
IPTransfer.Receive(Ffile::NAME,Ffile::LOCNAME) !получаем фай
SELF.Ipx.Exec('DEL',Ffile::NAME) !удаляем его на сервере
....
end
вообще для уменьшения траффика я еще zipую передаваемые файлы