+ Ответить в теме
Показано с 1 по 5 из 5

Тема: Передать данные таблицы через локальную сеть

  1. #1
    senior developer Dr_Grizzly is on a distinguished road
    Регистрация
    13.09.2004
    Адрес
    Курган
    Возраст
    32
    Сообщений
    406
    Вес репутации
    14

    По умолчанию Передать данные таблицы через локальную сеть

    День добрый коллеги! Хочу обратится за советом. Пишу нечто сетевой базы данных. Есть серверная часть и куча клиентов. Используется БД Access через ADO. У всех есть в базе одна и та же таблица с одинаковым набором колонок. Задача стоит - чтоб пользователь, сидя за серверной частью, мог выслать на клиентскую часть в локальной сети значение одной строки таблицы в такую же таблицу у них.

    Какие пути решения посоветуете? Использовать socket, tcp, xml или что-то еще интересней и проще? ))

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

    Вот что я нашел по Stream
    Код :
    1. procedure SerializeString(AString:string; AStream:TStream);
    2. var l:integer;
    3. begin
    4.      l:=Length(AString);
    5.     AStream.Write(l,Sizeof(l));
    6.     if l>0 then AStream.WriteBuffer(AString[1],l);
    7. end;
    8.  
    9. function UnserializeString(AStream:TStream):string;
    10. var l:integer; s:string;
    11. begin
    12.    AStream.Read(l,Sizeof(l));
    13.    if l>0 then
    14.    begin
    15.       SetLength(s,L);
    16.      AStream.ReadBuffer(s[1],L);
    17.    end;
    18.    Result:=s;
    19. end;
    20.  
    21. procedure TForm1.RzButton1Click(Sender: TObject);
    22. var
    23. ms:tstream;
    24. begin
    25.  SerializeString('Првиет',ms); // Почему-то ругается что не может сделать запись в Stream... я мало знаю эту тему, но думаю копаю в правильном направлении
    26. end;
    Последний раз редактировалось Dr_Grizzly; 15.03.2011 в 11:28.
    Чем проще - тем оригинальней, а значит гениально, т.к. все гениальное - просто! ;) Да! Кстати! Ctrl+V реально вставляет!!! ХDD

  2. По умолчанию

     
    Хотите избавиться от рекламы? Зарегистрируйтесь
  3. #2
    Moderator Куратор
    system architect
    Duncon is on a distinguished road Аватар для Duncon
    Регистрация
    10.10.2004
    Адрес
    Питер
    Сообщений
    1,964
    Вес репутации
    17

    По умолчанию Re: Передать данные таблицы через локальную сеть

    А что локалка настолько огромная что нельзя напрямую подключиться к серваку базы данных и с ним работать?
    [syntax=Delphi] [/syntax]

  4. #3
    senior developer Dr_Grizzly is on a distinguished road
    Регистрация
    13.09.2004
    Адрес
    Курган
    Возраст
    32
    Сообщений
    406
    Вес репутации
    14

    По умолчанию Re: Передать данные таблицы через локальную сеть

    Как подсказывает мне опыт - при подключении к одной базе данных *.mdb более 5-и пользователей - сеть забивается на 60-70%. А так как пользователей более 60 чел - этот вариант не катит... СУБД я не могу использовать т.к. нужен выделенный сервер для этого и сама СУБД. Поэтому озадачился решить вопрос как передать данные строки конкретно указанному пользователю.
    Чем проще - тем оригинальней, а значит гениально, т.к. все гениальное - просто! ;) Да! Кстати! Ctrl+V реально вставляет!!! ХDD

  5. #4
    Moderator Куратор
    system architect
    Duncon is on a distinguished road Аватар для Duncon
    Регистрация
    10.10.2004
    Адрес
    Питер
    Сообщений
    1,964
    Вес репутации
    17

    По умолчанию Re: Передать данные таблицы через локальную сеть

    Где-то тут тоится лож, по мусклу разрабы писали цифру в 60000 одновременно обслуживаемых коннектах. Как насчёт сжатия трафика если забивает.. Вообще если нет выделенного ip для сервера, сажаешь демонов на порт клиентов и рассылаешь широкополосные пакеты внутри сети на этот порт, клиенты его ловят и расжовывают. Таким образом можно вообще организовать обмен между компами без привязки к ip. Конкретезировать пользователя уже твой гемморой при этой схеме..
    [syntax=Delphi] [/syntax]

  6. #5
    Moderator Куратор
    system architect
    Игорь Акопян is on a distinguished road Аватар для Игорь Акопян
    Регистрация
    13.10.2004
    Адрес
    СПБ
    Возраст
    43
    Сообщений
    1,419
    Вес репутации
    16

    По умолчанию Re: Передать данные таблицы через локальную сеть

    акцесс на 60 юзеров - изврат, кмк
    ограничений на использование СУБД не увидел - акцессовая база поди тоже на одной машине находится. Вот пусть она сервером и станет для нормальной базы. Вариантов бесплатных - тьма, кроме мускула как минимум firebird

+ Ответить в теме

Похожие темы

  1. как передать данные
    вопрос такой, есть сайт, нужно с ним обмениваться данными. я могу получать данные например загружаю страницу по определенной ссылки, либо скачивая...
    от Blood_Magic в разделе Delphi и Pascal
  2. Как передать данные из массива в значения диаграммы?
    Imeetsya gotovye massivy iz odinakovogo kolichestva elementov. Nado ispol'zovat' eti dannye kak istochnik dannyh dlya diagrammy. Proboval etim...
    от Zhanibek в разделе MS Office и VB(A).
  3. Как передать данные из RefEdit в массив, создаваемый в проц.
    Zdravstvuite! Pozhaluista pomogite perenesti dannye iz RefEdita (diapazon yachhek) v massiv, sozdavaemy v procedure. Potom neobhodimo perevesti...
    от Zhanibek в разделе MS Office и VB(A).
  4. Как из Делфи передать данные в Word или Exel
    Подскажите как, или дайте ссылку на пример! Мне нужно передать разультаты некоторой функции в приложение MS Word или Exel, а также построить...
    от mike_soft в разделе Delphi и Pascal

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения