DataSnap и Delphi 2009
От: silent_roach  
Дата: 07.02.09 11:43
Оценка:
Здрасте

Собственно, я в клиент-серверных приложениях новичок, но тут задача потребовала как раз такого.
Сделал приложение-сервер, кинул на его главную форму TDSServer, TDSServerClass и TDSTCPServerTransport. В общем, сделал все, что требовалось для налаживания соединения между клиентом и сервером по видео, которое висит на сайте с D2009.

Написал на сервере функцию, которая выполняет запрос через TSQLQuery и возвращает его клиенту на TSQLConnection (драйвер — DataSnap) и кладу в TClientDataSet. Клиент успешно все видит.

Теперь главное. На клиенте добавляю запись, меняю значения в полях, делаю Post и ApplyUpdates (у TClientDataSet), но тут выходит ошибка — Произошел разрушительный сбой.

Возможно, я вообще не тем боком к задаче подошел? Или что-то изначально сделал не так? Или это проблема в моем ДНК?
Может, еще и места есть, где лежат хорошие примеры по работе с DataSnap? Я нашел таких очень мало.

Заранее благодарен за ответ.
delphi datasnap clientdataset multitired
Re: DataSnap и Delphi 2009
От: silent_roach  
Дата: 09.02.09 06:42
Оценка:
Походил дебаггером, ругается вот тут:

function TCustomSQLDataSet.PSIsSQLBased: Boolean;
var
  IsSQLBased: String;
begin
  Result := true;
  if Assigned(FSQLConnection) then
  begin
    IsSQLBased := FSQLConnection.FDBXConnection.GetVendorProperty('IsSQLBased'); { Do not localize. }
    if (IsSqlBased <> '') and (CompareText(IsSQLBased, 'false') = 0) then
      Result := false;
  end;
end;


на строчке

IsSQLBased := FSQLConnection.FDBXConnection.GetVendorProperty('IsSQLBased');


FSQLConnection.FDBXConnection = nil

Почему? О.о я же как-то получал оттуда данные.
Re[2]: DataSnap и Delphi 2009
От: silent_roach  
Дата: 09.02.09 06:49
Оценка:
Поставил у коннекшна предварительно Connected := true и ситуация сдвинулась с мертвой точки.

Теперь оно

Remote Error: Dbx.SQL is an unrecognized command type

и потом

Unable to find record. No key specified.

Буду думать дальше =)
Re[3]: DataSnap и Delphi 2009
От: silent_roach  
Дата: 09.02.09 07:13
Оценка:
Ошибку с поиском записи по ключу поправил, а вот что делать с "DBX.Sql is an unrecognized command type" даже не знаю.
Помогите, пожалуйста.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.