Einzelnen Beitrag anzeigen

Peinhard

Registriert seit: 8. Jul 2006
152 Beiträge
 
#10

Re: Umstellung IB-Express auf ADO (dbGo)

  Alt 13. Jul 2006, 16:59
Zitat von Neptun:
Sorry, aber das funktioniert nicht.
Woher soll die Komponente/Treiber wissen wie er die UPDATE, INSERT oder DELETE Anweisungen
generieren soll, wenn er nur die SELECT Anweisung kennt.
Er versucht es aber tapfer, und meistens haut's auch hin - Ausnahmen hatte ich ja schon eine genannt. Und die Fehlermeldung 'Die gesuchte Reihe konnte nicht gefunden werden, da sich inzwischen mehrere Werte...' osä etc wird man auch bald 'schätzen' lernen... Primärschlüssel sind sozusagen 'Pflicht'.

Zitat von Neptun:
Bei folgender Tabellenstruktur kann ich mir das noch vorstellen, da es einen Primärschlüssel gibt.

SQL-Code:
CREATE TABLE "KSC_USER"
(
  "ID_USER"   INTEGER NOT NULL,
  "USERNAME"  VARCHAR(32) NOT NULL,
  "PWD"       VARCHAR(32) NOT NULL,
  "FULLNAME"  VARCHAR(64) NOT NULL,
  "RIGHTS"    INTEGER DEFAULT 0,
  PRIMARY KEY ("ID_USER")
);
SELECT * from KSC_USER Allerdings gibt es keine Information, wie bei einem INSERT der Primärschlüssel
ID_USER erzeugt werden soll.
Entweder AutoInc (bei MS IDENTITY) oder selbst erzeugt, zB mit einer entsprechenden Werte-Tabelle und einer StoredProc (nicht unbedingt mit MAX()-Abfragen . Deine eingestellten Beispiele verraten aber auch nichts darüber, wie das momentan gelöst ist - oder is es doch einfach zu heiß...?

Zitat von Neptun:
Ich versuche im Moment auf diese Tabelle zuzugreifen. Über ADO und ODBC auf Interbase
und bekomme dabei einen Fehler beim Schreiben der Änderungen mit UpdateBatch().

Das ist das Problem, dass ich im Moment lösen muss.
Ich hab leider keinen Zugriff auf IB hier, aber ein bisschen mehr Info könnt' net schaden.

Zitat von Neptun:
Um das Problem mit den herstellerspezifischen Unterschieden muss ich mich später kümmern.
Im Augenblick lautet meine Aufgabenstellung: "Umstieg von Interbase auf MS-SQL-Server 2005".

Da ich meine Vorturner aber kenne, wird es irgendwann heissen: "..wir hatten doch schon mal mit Interbase.."
oder "..wir haben da einen, der hat schon ein Oracle Cluster..".
Also versuche ich über die ADO Komponenten die entsprechenden Weichen zu stellen.
Ich fühle mit dir... in einem meiner Lieblings-Dilberts schlägt der Chef vor, eine SQL-Datenbank anzuschaffen, und Dilbert fragt erst sich, ob der da wirklich weiß wovon er redet oder ob er nur wieder was gelesen hat, und dann ihn, welche Farbe denn die DB haben sollte. Antwort: 'Ich glaube Flieder hat am meisten RAM'... ok, etwas am Thema vorbei, aber wohl nicht allzuweit.

peinhard
  Mit Zitat antworten Zitat