標籤:os ar for 資料 sp on c linux ef
隨著XE6,XE7,以及半年以後即將發布的XE8,DATASNAP將順應跨平台的需要,
有可能的情況是這樣的:XE8,DATASNAP寫的中介軟體將可以運行在LINUX伺服器上面。
大家都知道COM是WINDOWS特有的東西,為了跨平台,COM將被棄用。
DATASNAP殘留的COM基因的東西統統將被棄用,COM的資料序列格式OLEVARIANT將被棄用,
CLIENTDATASET的DATA和DELTA屬性是OLEVARIANT,因此也將被棄用,CLIENTDATASET的替代品是FDMEMTABLE,
DATASETPROVIDER的DATA屬性是OLEVARIANT,因此也將被棄用。
DBXEXPRESS的命運同曆史上的BDE一樣,同DATASNAP捆綁緊密的將會是FIREDAC。
FireDAC 在XE5 UPDATE2之後 增加了一個Data.FireDACJSONReflect單元,用於FIRDAC資料同JSON之間的相互轉換。
有意思的是,FIREDAC的資料集們,都像CLIENTDATASET一樣有DATA和DELTA屬性,看來CLIENTDATASET好的思路仍將被保留,
只不過資料格式不再是OLEVARIANT了,而是IFDDataSetReference介面。
附一段EMB的官方DEMO:
FDQuery1.SQL.Text := ‘select * from orders; select * from customers‘; FDQuery1.Open;FDQuery1.FetchAll;// assign orders records to FDMemTable1FDMemTable1.Data := FDQuery1.Data; FDQuery1.NextRecordSet;FDQuery1.FetchAll;// assign customers records to FDMemTable2FDMemTable2.Data := FDQuery1.Data;
procedure TForm1.Button1Click(Sender: TObject);begin OutFDMemTable.CachedUpdates := True; OutFDMemTable.Open; OutFDMemTable.Append; OutFDMemTable.FieldByName(‘Test‘).AsString := ‘First Record‘; OutFDMemTable.Post; OutFDMemTableDelta.Data := OutFDMemTable.Delta; // copy only modified/inserted data OutFDMemTable.Close; OutFDMemTableDelta.Close;End;
datasnap的前世今生