Entwickler-Ecke

Datenbanken - DB2 verbinden (Das Objekt war geöffnet) bei einigen Tabellen


Bronstein - Do 22.02.07 17:16
Titel: DB2 verbinden (Das Objekt war geöffnet) bei einigen Tabellen
Ich habe per ADO und einem DB2ODBC-Treiber eine DB2-Datenbank verbunden.

Die Verbindung zur Datenbank funktioniert auch. Ich kann auch auf einige Tabellen zugreifen, leider nicht auf alle.

Und gerade auf diese muss ich zugreifen.

Wenn ich jetzt die Tabelle bei ADOTable auswähle und Active auf true setze bekomme ich immer die Fehlermeldung: „Das Objekt war geöffnet“.

Die Eigenschaft ReadOnly habe ich bei der ADOTable Komponente auf true gesetzt.

Funktioniert jedoch auch nicht

Mit Access kann ich die Tabelle verknüpfen und somit die Daten sehen.

Was mache ich falsch, bzw. was kann ich machen?


Bronstein - Do 22.02.07 19:36

Hat niemand eine Ahnung.

Ich finde das auch komisch, da es ja mir Access als verknüpfte Tabelle funktioniert


Bronstein - Fr 23.02.07 09:20

Ich habe meinen Fehler gefunden, ich habe eine zu große Datenmenge geöffnet. Wenn ich auf die Tabelle mit einer SQL-Abfrage zugreife, und das Ergebnis durch Von, Bis einschränke. Gelingt meine Abfrage.

Die Abfrage benötigt aber trotzdem viel Zeit, gibt es noch eine schneller Lösung wie per ADO auf die DB zuzugreifen, bzw. gibt es bei den ADO-Komponenten irgendwelche Tricks um die Abfragen zu beschleunigen


jasocul - Fr 23.02.07 10:04

Vielleicht solltest Du einen Versuch mit nativem Zugriff auf die DB2 starten.
Ich habe jetzt nur hier [http://www.sqldirect-soft.com/] etwas gefunden und selbst keine praktische Erfahrung mit den Komponenten. Meine Erfahrung mit anderen Datenbanken zeigt aber, dass nativer Zugriff die beste Lösung ist.


MAlsleben - So 25.02.07 18:47

Hi,

ich habe das bisher mit den mitgelieferten Treibern für DB2 von Borland für DBX bzw. früher mit der BDE gemacht. Damit hatte ich noch keine Probleme. Die DB2 Treiber sind aber meines Erachtens erst ab der Enterprise - version von Delphi dabei. Aber wenn Du die hast, wär's ja ein Versuch wert.

Gruß Micha.