FDAC批量导入数据

来源:互联网 发布:淘宝搜索超短裙走光 编辑:程序博客网 时间:2024/05/23 18:51
FDAC DataSet使用SaveToFile方法把数据存入单个文件后,使用批量处理插件,能够快速导入数据。在国外论坛上看到一篇文章,导入很方便。经测试可用。
function TSubDB.LoadDB(const aFilename: string): boolean;var  FQry: TFDQuery;  FBatchMove: TFDBatchMove;  FReader: TFDBatchMoveDataSetReader;  FWriter: TFDBatchMoveSQLWriter;  FMemTable: TFDMemTable;begin  FQry := TFDQuery.Create(nil);  FQry.Connection := dmFB.myDB;  FQry.FetchOptions.AssignedValues := [evItems];  FQry.FetchOptions.Items := [fiBlobs, fiDetails];  FBatchMove := TFDBatchMove.Create(nil);  FBatchMove.Analyze := [taDelimSep, taHeader, taFields];  FReader := TFDBatchMoveDataSetReader.Create(FBatchMove);  FWriter := TFDBatchMoveSQLWriter.Create(FBatchMove);  FMemTable := TFDMemTable.Create(nil);  try    FMemTable.LoadFromFile(aFileName, sfBinary);    FReader.DataSet := FMemTable;    FQry.SQL.Text := 'select * from test';    FWriter.Connection := dmFB.myDB;    FWriter.TableName := 'test';    FBatchMove.Mode := dmAppendUpdate;    FBatchMove.Execute;    FQry.Open;    FQry.Close;  finally    FMemTable.Free;    FWriter.Free;    FReader.Free;    FBatchMove.Free;    FQry.Free;  end;end;
转自: http://stackoverflow.com/questions/33154868/firedac-batchmove-from-memorytable
0 0
原创粉丝点击