Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2007.04.01;
Скачать: [xml.tar.bz2];

Вниз

Как быстрее переслать данные клиенту   Найти похожие ветки 

 
Alek_1   (2007-01-15 16:10) [0]

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

так вот записей при пересылке может быть 20000.
я строю строку из записей и по тсп ип их пересыаю на клиентика...

но это долго :( (построение стрроки очень долго тянется :( )
можно ли както по другому отослать? сохранить там записи в stream например и потом уже отправить...??

Использую для выборки TIBDataSet

строку строю примерно так
 for i:=0 to i2 do begin

   ln:=Length(SQL.FieldByName("ID_ZI").AsString);
   str:=SQL.FieldByName("ID_ZI").AsString;
   result:=result+Chr(ln)+str;

   ln:=Length(SQL.FieldByName("DT").AsString);
   str:=SQL.FieldByName("DT").AsString;
   result:=result+Chr(ln)+str;


 
Sergey13 ©   (2007-01-15 16:16) [1]

> [0] Alek_1   (15.01.07 16:10)

Может стоит книжку прочитать и не изобретать велик с квадратными колесами?


 
Alek_1   (2007-01-15 16:21) [2]

в книжке про мидас читал...но мне не хочется его использовать...

вообщем нужно сделать выборку на сервере, и передать ее как можно быстрее на клиентик... как же это лучше сделать?


 
Sergey13 ©   (2007-01-15 16:22) [3]

> [2] Alek_1   (15.01.07 16:21)

Пусть "клиентик" сам ее и запросит.


 
Alek_1   (2007-01-15 16:27) [4]

такс...а что еще мона придумать? :)
у кого еще какие мысли по этому поводу?


 
Sergey13 ©   (2007-01-15 16:30) [5]

> [4] Alek_1   (15.01.07 16:27)

Т.е. нормальные герои всегда идут в обход?


 
Alek_1   (2007-01-15 16:34) [6]

тоесть мне нужен максимально тонкий клиент который подключается по через 1 порт подлючается к моему серверному приложению....и получает оттудава новости, записи в бд, чат, и другие дополнительные штучки....

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


 
Sergey13 ©   (2007-01-15 16:38) [7]

> [6] Alek_1   (15.01.07 16:34)

А надо ли так сложно то? Почему клиент не может напрямую подключиться в БД и взять что надо?


 
Alek_1   (2007-01-15 16:41) [8]

потому что сервер БД стоит в датацентре, а клиенты разбросаны по разным компаниям... в которых свои настройки сетевой безопасности...и иногда очень сложно выбить чтобы их админ открыл порт для программки, а если их еще и два будет...уууу плохо будеть...


 
Плохиш ©   (2007-01-15 16:49) [9]

Эта тема в руководстве разработчика, идущем с Делфи, называется, в вольном переводе, создание WebServices-приложений.


 
Alek_1   (2007-01-16 17:14) [10]

подожди...а причем тут вебсервис и обычное приложение...? или там есть похожая ситуация? :)


 
BorisMor ©   (2007-01-16 18:47) [11]


> подожди...а причем тут вебсервис и обычное приложение...
> ? или там есть похожая ситуация? :)

Вам намекают, что данные через Интернет можно передавать...
И вообще нормальные поцаны XML используют для межпрограммной передачи данных :)

Если насчет вашего вопроса, то могу предположить что скорость маленькая потому что со string-строкамми работаете.
Наверное лучше
- Pchar использовать
- или заранее указывать длину строки через SetLength, а затем вставлять данные в эту строку
- попробовать TStringList
Это те направления, куда бы я копал...



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2007.04.01;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.041 c
2-1173828969
Fantasy
2007-03-14 02:36
2007.04.01
Странно но факт. помогите понять


2-1173033268
AMW
2007-03-04 21:34
2007.04.01
Как возвратить строку из dll без ShareMem?


4-1163585456
MegaVolt
2006-11-15 13:10
2007.04.01
Как в WinXP отключить визульные эффекты для отдеьно взятого окна.


15-1173166810
Megabyte-CeerCop
2007-03-06 10:40
2007.04.01
Ускорить работу с мелкими файлами на Flash USB


15-1173289712
MsGuns
2007-03-07 20:48
2007.04.01
В передверьи праздника





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский