ampersand83
I'm new here

Datenbanklayer im laufenden Betrieb wechseln

Unser Kunde hat eine in FS extern angebundene DB von MSSQL Server 2000 auf MSSQL Server 2008 geupdated.

In FS kann nun nicht mehr auf die Daten der Tabellen zugegriffen werden. Zusätzlich zur Datenbankversion hat sich auch der Name des DB Layers geändert.

Meine Frage ist nun die folgende:

Ist es ohne weiteres möglich ein Datenbankschema auf einen anderen DB Layer umzustellen oder muss ich hierzu das Schema nochmal komplett neue von der exterenen DB erzeugen lassen?

Viele Grüße,

Stefan

0 Kudos
7 Replies
ampersand83
I'm new here

Weiß hier niemand etwas dazu zu sagen?

0 Kudos

Wenn die DB upgedatet wurde, dann braucht man ja eigentlich gar nicht einen speziellen neuen DB-Layer in FirstSpirit anzulegen. Die Frage ist also: warum ist hier gewünscht, einen neuen DB-Layer anzulegen...

0 Kudos

Hallo Herr Klein,

das weiß ich leider auch nicht. Es ist jetzt nur so, dass der Kunde die DB stillschweigend aktualisiert hat und sich jetzt wundert wieso der Zugriff auf die DB aus FS nicht mehr funktioniert. Hierbei habe ich dann auch festgestellt, dass ein neuer DB Layer angelegt wurde. Zusätzlich dazu wurde aber anscheinend auch an der alten DB etwas geändert, was ja die eigentliche Ursache für den Zugriffsfehler ist.

Die Frage wäre jetzt nur, ob ich es in irgendeiner Form hinbekomme, dass das bestehende DB Schema, welches sowieso nicht mehr richtig funktioniert auf den neuen DB-Layer umgestellt werden kann oder ob ich auf Basis des neuen DB-Layers ein neues externes Schema anlegen und folglich auch alle bereits erstellten Contentprojektionen aus dem alten Schema ins neue Schema migrieren muss.

0 Kudos

Hallo Herr Zülch,

nein, es muss nichts migriert werden.

Wenn die DB wirklich nur upgedatet wurde (von MSSQL Server 2000 auf MSSQL Server 2008), dann braucht man in der Layerkonfigurtion nur den Parameter

jdbc.layerclass=de.espirit.or.impl.mssql.MSSQL2000Layer

zu ändern in:

jdbc.layerclass=de.espirit.or.impl.mssql.MSSQL2005Layer

(MSSQL2005-Layer ist auch für MSSQL 2008 gültig) und spätestens nach dem FS-Serverneustart sollte alles wie vor dem Update fehlerfrei funktionieren. Wenn aber bereits der Verbindungstest aus FS zu der DB fehlschlägt, dann wurde tatsächlich auch an der DB-Konfiguration (bzw. der Weg zu der DB) etwas geändert und mann soll dort die Ursache für das Problem suchen und nicht in FS. :smileyplain:

Wenn Sie nicht weiterkommen, schicken Sie doch hier die von Ihnen erwähnte Zugriffsfehler.

Gruß,

Walter Klein.

0 Kudos

Ich befürchte, dass das Problem eben darin besteht, dass im FS Client unter den Datenbank-Schemata ein Schema auf Basis des alten DB-Layers erstellt wurde, welches jetzt aber auf den neuen DB Layer zeigen soll. Sprich es gibt physikalisch zwei DBs mit dem gleichen Inhalt und den gleichen Tabellen. Einmal als 2000er und einmal als 2008er Version. Der Verbindungstest ist bei beiden Layern erfolgreich, aber aus dem FS Client klappt der Zugriff auf die Tabellen nicht. Momentan basiert das relevante Schema noch auf dem alten DB-Layer, jedoch würde ich dies jetzt gerne auf den neuen Layer umstellen, sofern das möglich ist. Wenn nicht käme ich wohl nicht drum rum ein neues Schema auf Basis des neuen Layers zu erzeugen, oder?

0 Kudos

>auf den neuen Layer umstellen

das ist zwar möglich, aber nur mit einem nicht freigegebenen Backendtool, bitte wenden Sie sich daher an FS-Helpdesk

0 Kudos

Hallo,

ist der Stand hier unverändert, d.h. kann/muss ich mich in diesem Fall nach wie vor an den Helpdesk wenden?

Wir haben ein ähnliches Problem bei einem Kunden bei dem wir mit bestehenden Projekten auf eine andere (unicodefähige) Datenbank wechseln möchten. Die Datenbankschemata können 1:1 kopiert werden, also müsste nur der entsprechende Datenbanklayer/die Datenbankverbindung angepasst werden.

Vielen Dank und Grüße,

Carsten

0 Kudos