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

Ответить

Код подтверждения
Введите код в точности так, как вы его видите. Регистр символов не имеет значения.

BBCode ВКЛЮЧЁН
[img] ВКЛЮЧЁН
[url] ВКЛЮЧЁН
Смайлики ОТКЛЮЧЕНЫ

Обзор темы
   

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

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

Игорь Акопян » 23 мар 2011, 13:45

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

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

Duncon » 16 мар 2011, 11:37

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

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

Dr_Grizzly » 16 мар 2011, 11:12

Как подсказывает мне опыт - при подключении к одной базе данных *.mdb более 5-и пользователей - сеть забивается на 60-70%. А так как пользователей более 60 чел - этот вариант не катит... СУБД я не могу использовать т.к. нужен выделенный сервер для этого и сама СУБД. Поэтому озадачился решить вопрос как передать данные строки конкретно указанному пользователю.

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

Duncon » 15 мар 2011, 13:09

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

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

Dr_Grizzly » 15 мар 2011, 09:56

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

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

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

Вот что я нашел по Stream

Код: Выделить всё

procedure SerializeString(AString:string; AStream:TStream);
var l:integer;
begin
     l:=Length(AString);
    AStream.Write(l,Sizeof(l));
    if l>0 then AStream.WriteBuffer(AString[1],l);
end;

function UnserializeString(AStream:TStream):string;
var l:integer; s:string;
begin
   AStream.Read(l,Sizeof(l));
   if l>0 then
   begin
      SetLength(s,L);
     AStream.ReadBuffer(s[1],L);
   end;
   Result:=s;
end;

procedure TForm1.RzButton1Click(Sender: TObject);
var
ms:tstream;
begin
 SerializeString('Првиет',ms); // Почему-то ругается что не может сделать запись в Stream... я мало знаю эту тему, но думаю копаю в правильном направлении
end;

Вернуться к началу