![]() |
Datenbank: MSSQL • Version: PROF • Zugriff über: ADO
MSSQL/ADO + 3 Mio Datensätze , Thread Error
unser fatales Problem hat folgende technische Kennwerte
Unsere Anwendung liefert ein Thread Fehler beim Einfügen von weiteren Datensätzen in die DB. Mit dem MS Datenbank Tool kann man die DB öffnen und manuelle Abfragen durchführen. Client Hardware : WIN7 Prof, x64 , Speicher 16 Gbyte RAM (hier sollte kein Problem vorliegen) |
AW: MSSQL/ADO + 3 Mio Datensätze , Thread Error
die Größe stellt kein Problem dar und geht sogar mit MSSQL Express .....
Das Problem ist hier woanders zu suchen. Wie lautet denn der Fehler genau ? ADO Meldung oder eine von Delphi ? |
AW: MSSQL/ADO + 3 Mio Datensätze , Thread Error
Zitat:
Gruß K-H |
AW: MSSQL/ADO + 3 Mio Datensätze , Thread Error
Zitat:
Ist ein Insert über das SQL-Managementstudio oder andere DB Tools möglich oder kommt dort auch ein Fehler? Wie sieht das Zeitverhalten aus, wenn eure Anwendung versucht Datensätze einzufügen? |
AW: MSSQL/ADO + 3 Mio Datensätze , Thread Error
Liste der Anhänge anzeigen (Anzahl: 1)
mit diesem kleinen Testprogramm können wir den Fehler aus der richtigen Anwendung nachbilden :
Delphi-Quellcode:
unit Unit_openADOTable;
interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Data.DB, Vcl.ExtCtrls, Vcl.Grids, Vcl.DBGrids, Data.Win.ADODB; type TForm1 = class(TForm) ADOTable1: TADOTable; ADOConnection1: TADOConnection; DBGrid1: TDBGrid; Panel1: TPanel; DataSource1: TDataSource; Button1: TButton; procedure Button1Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var Servername, Databasename, TableName : String; DatabaseStr: String; begin Servername := 'mssql_server'; Databasename := 'databasename'; ADOConnection1.Connected := False; ADOConnection1.LoginPrompt := false; DatabaseStr := 'Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Data Source=' + Servername + ';Initial Catalog=' + Databasename + ';'; ADOConnection1.ConnectionString := DatabaseStr; ADOConnection1.Connected := True; ADOTable1.Active := true; end; end. |
AW: MSSQL/ADO + 3 Mio Datensätze , Thread Error
Ich würde mal Serverseitig nachschauen ob es eine Fehlermeldung gab. (Logdateien o.ä.)
|
AW: MSSQL/ADO + 3 Mio Datensätze , Thread Error
Hast du da ein nvarchar Feld in der Tabelle mit mehr als 127 Zeichen?
![]() Kannst du nicht per ADO mit dem Native Client zugreifen? siehe auch hier: ![]() |
AW: MSSQL/ADO + 3 Mio Datensätze , Thread Error
Wie wäre es mit
Delphi-Quellcode:
@Sir Rufo
ADOConnection1.Connected := True;
ADOTable1.Active := false; ADOTable1.Active := true; dieser Multistep-murks wird auch durch Abfragen verursacht:
Code:
Wenn man den Feldnamen verkürzen kann, hat man eine chance, daß es funktioniert.
Select 'Ich habe '||count(Database5.Tablell234.id_vondengeschlossenendatensaetzen)||' Datensätze in meiner DB und noch ein paar Zeichen mehr'
Gruß K-H |
AW: MSSQL/ADO + 3 Mio Datensätze , Thread Error
Zitat:
Wie wärs mit einer Query? MaxRecords steht auf 0? Filter gesetzt? Gerade für Insert eher keine Table-Komponente nehmen? Am besten nie eine Table-Komponente nehmen. |
AW: MSSQL/ADO + 3 Mio Datensätze , Thread Error
Zitat:
aber in allen Beispielen, die ich gesehen habe, wird fröhlich mit Tables und Datasets herum gespielt. wahrscheinlich wissen die wenigsten welche Möglichkeiten eine Query beinhalted. Aber das Nutzen einer Query wird sein Problem ja nicht lösen sondern nur umgehen. Gruß K-H |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:34 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz