Moin.
du kannst, aber du musst es nicht. ExtractValues() erwartet das INSERT-Statement im ersten Parameter, also kannst du den Dump auch zeilenweise verarbeiten. So ein
SQL-Dump kann schon mal etwas größer werden und vielleicht musst oder willst du mit dem Hauptspeicher knausern.
Delphi-Quellcode:
procedure SQLDumpToCsv(
var dump,
csv: TextFile);
var
s: TStrings;
stmt:
string;
begin
s := TStringList.Create;
try
while not Eof(dump)
do
begin
Application.ProcessMessages;
ReadLn(dump, stmt);
ExtractValues(stmt, s);
WriteLn(
csv, s.CommaText);
end;
finally
s.Free;
end;
end;
Freundliche Grüße