![]() |
Datenbank: BlackFish • Version: D2009 • Zugriff über: SQL
DBExpress + ClientDataSet mit DataSetProvider und Blackfish
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
ich habe ein Projekt von D2007 nach D2009 portiert. Beide Programme benutzen BlackFishSQL in der aktuellsten Version (DataBasePack #4). Nach den üblichen Umstellungen (UniCode usw) taucht folgendes Problem in D2009 auf, dass ich in D2007 nicht habe: Ich versuche eine größere Tabelle per SELECT zu lesen. Die jeweiligen Feldgrößen variieren von VARCHAR(8) bis VARCHAR(600). Lese ich Felder, die in der Summe 4730 Zeichen lang sind, gibts keine Probleme. Bei 4733 Zeichen allerdings kommt die Exception beim Zuweisen des Providers zum ClientDataset.
Delphi-Quellcode:
var
MySQLDataSet1: TSQLDataSet; MyDataSource1: TDataSource; MyDSProvider1: TDataSetProvider; MyClientDS1: TClientDataSet; ... ... ... procedure TTableView.ExecuteSelectSQL; // Ein SQL-Select-Statement ausführen: begin MyClientDS1.Active := False; MySQLDataSet1.Active := False; MySQLDataset1.CommandType := ctQuery; MySQLDataSet1.DbxCommandType := 'Dbx.SQL'; MySQLDataSet1.CommandText := Trim(Memo1.Text); // z.B.: 'select * from job_details' MyDSProvider1.DataSet := MySQLDataSet1; MyClientDS1.ProviderName := MyDSProvider1.Name; try // ************ MyClientDS1.Data := MyDSProvider1.Data; // <--- hier knallt's // ************ MyDataSource1.DataSet := MyClientDS1; MySQLDataset1.DataSource := MyDataSource1; DBGrid1.DataSource := MyDatasource1; MyClientDS1.Active := True; MySQLDataSet1.Active := True; except on E: exception do begin // Fehlermeldung anzeigen: ED_StatusBar1.Color := clRed; ED_StatusBar1.Font.Color := clWhite; ED_StatusBar1.Text := 'Error executing SQL statement: '+E.Message; Application.ProcessMessages; end; end; end; Der selbe Fehler kommt, wenn ich die Tabelle in der IDE lese ( Komponenten Active = True usw) und wenn ich im Daten-Explorer durch Doppelklick versuche, die Tabelle einzulesen. Gehe ich an dieser Stelle auf 'Tabelle ändern', werden keine Felder angezeigt. Offensichtlich gibt's ein Längen- bzw Anzahl-Zeichen-Problem. Ist euch dazu etwas bekannt oder habt ihr Tips? Wie gesagt: gleiche Tabelle, gleicher BF-Dienst, gleicher Quellcode. Nur D2007 bzw. D2009. Ich habe noch einen ScreenShot mit der Fehlermeldung des Data Explorers angehängt. Danke für jeden Tip!!! Gruß, Gerald |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:55 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 by Thomas Breitkreuz