Hallo,
ich möchte mein Programm in Delphi 7 von Paradoxtabellen auf einen
SQL Server umstellen.
Jetzt habe ich im ersten Schritt einfach die Table auf den neuen Server gelenkt, indem ich unter
ODBC eine Verbindung mit dem
SQL Native Client eingerichtet habe.
Das geht ungefähr gleich schnell.
Im zweiten Schritt will ich jetzt die Table durch ADOTable ersetzen.
Hierbei stelle ich fest, das öffnen der Tabelle über ADOTable 100x so lange dauert wie über den
BDE-Table.
Sprich das active setzen einer Tabelle mit 80.000 Datensätzen dauert
mit
BDE auf
Paradox ca. 20 ms,
mit
BDE auf
SQL ca. 20 ms,
mit
ADO über
ODBC auf
SQL ca. 2000 ms und
mit
ADO über
SQL Native Client auch ca. 2000 ms.
Gemessen habe ich das mit QueryPerformanceCounter(); und die Werte geben auch ungefähr mein persönliches Empfinden wieder.
Der connectionstring bei
Ado ist:
adotable1.ConnectionString := 'Provider=MSDASQL.1;Password=xxx;Persist Security Info=True;User ID=xxx;Data Source=SQLServer;Initial Catalog=Datenbank';
bzw.
adotable1.ConnectionString := 'Provider=SQLNCLI.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=Dtenbank;Data Source=mein-pc\sqlexpress';
Die Cursorlocation steht auf clUseServer, mit clUseClient sind die Werte noch schlechter.
Was mache ich falsch? Müssen noch andere Einstellungen gemacht werden?
Gruß, Jenns