Quantcast
Channel: Embarcadero Community - Embarcadero Community
Viewing all articles
Browse latest Browse all 1888

FireDAC (Array DML) Query.Execute(100000) = access violation

$
0
0

FDQuery.Params.Clear;

FDQuery.SQL.Text:='begin INSERT INTO ' + FTable + ' (F1, F2, F3, F4, F5, F6, F7, F8) '+

                  'VALUES(:M1, :M2, :M3, :M4, :M5, :M6, :M7, :M8);'+

                  'exception  when others then pkg_loaddata.LogError(3,''Error '+FTable+''',SQLErrm(),0);rollback; end;';

FCount:= 10000;

 

FDQuery.Params.ArraySize:= FCount;

 

for I := 0 to FCount-1 do

begin

  FDQuery.ParamByName('M1').AsDateTimes[I]:= M1[i];

  FDQuery.ParamByName('M2').AsDateTimes[I]:= M2[i];

  FDQuery.ParamByName('M3').AsStrings[I]:= M3[i];

  FDQuery.ParamByName('M4').AsStrings[I]:= M4[i];

  FDQuery.ParamByName('M5').AsStrings[I]:= M5[i];

  FDQuery.ParamByName('M6').AsIntegers[I]:= M6[i];

  FDQuery.ParamByName('M7').AsIntegers[I]:= M7[i];

  FDQuery.ParamByName('M8').AsIntegers[I]:= M8[i];

  { SetData}

end;

FDQuery.Execute(FDQuery.Params.ArraySize);

 

if FCount >=100 000 then ACCESS VIOLATION


Viewing all articles
Browse latest Browse all 1888

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>