OKB-000205 | Ändern der Datenbankstruktur Freitag, 3. Februar 2006 10:04 FAQ-Nr: OKB-000205 Betrifft: ab orgAnice CRM 2008 Problem: Beim Versuch die Änderungen der Datenbankstruktur einer bereits replizierten orgAnice SQLDatenbank auf den SQL-Server zu übertragen, erscheint die folgende Fehlermeldung: orgAnice SQL Export - Fortschrittsanzeige "Die Tabelle kann nicht umbenannt werden, da sie für die Replikation publiziert ist. OrgErrorText: Unbekannter Fehlercode (0x80040E14)." Ursache: Eine Änderung der Datenbankstruktur einer bereits replizierten orgAnice SQL-Datenbank ist über den Befehl "Änderungen auf den SQL-Server übertragen" nicht möglich. Der MS SQL-Server lässt die Änderungen einer solchen Datenbank nur in bestimmten Fällen und mit einer speziellen Vorgehensweise zu. Lösung: Die Vorgehensweise hängt von der Art der Änderungen ab: Hinzufügen und Entfernen von Feldern Der MS SQL-Server lässt das Hinzufügen und Entfernen von Feldern (=Spalten), wenn eine bestimmte Vorgehensweise eingehalten wird zu. Diese Änderungen werden automatisch auf alle Replikate übertragen. Die Vorgehensweise wird anhand eines Beispiels erklärt: In einer bereits replizierten Datenbank wird ein neues Feld "Bundesland" in die Tabelle "Adressen" hinzugefügt. 1.) Fügen Sie das Feld auf die übliche Weise mit dem Objekt-Editor (Konfigurationsmodus, Datenbank-Objekte - Felder) in orgAnice hinzu: SQL Replication Seite 1 2.) Starten Sie den SQL Server Enterprise Manager. 3.) Öffnen Sie in dem Enterprise Manager unter Ihrem Server den Zweig "Datenbanken" und dann den Zweig Ihrer Datenbank (hier "OfficeSQL2"). Dort öffnen Sie den Unterzweig "Publikationen": 4.) Führen Sie einen Doppelklick auf eine der Publikationen in der rechten Fensterhälfte aus (es spielt keine Rolle, auf welche). Das Fenster "Eigenschaften von <Publikationsname>" erscheint. Wechseln Sie zur Registerkarte "Spalten filtern": SQL Replication Seite 2 5.) Wählen Sie in der Liste "Tabellen in Publikation" die Tabelle aus, in der Sie das Feld hinzugefügt haben (hier "Adressen"). Klicken Sie auf die Schaltfläche "Spalte zu Tabelle hinzufügen". 6.) In dem Fenster "Spalte zu replizierter Tabelle hinzufügen" geben Sie folgende Daten ein: a. "Spaltenname": Geben Sie den Feldnamen des in orgAnice hinzugefügten Feldes ein (hier "Bundesland" b. "Spaltendefinition (ohne den Spaltennamen)": hier muss die Spaltendefinition als SQL-Definition eingegeben werden. Für Belange von orgAnice reicht es, wenn Sie nur den Feldtyp und ggf. die Feldlänge bei Zeichenketten angeben. Für kompliziertere Fällen konsultieren Sie die Online-Hilfe des Enterprise Managers oder setzen Sie sich mit dem Support Ihres Fachhändler oder der orgAnice Software GmbH in Verbindung. Löschen Sie also den vorgegebenen Text und tragen Sie abhängig vom in orgAnice gewählten Feldtyp folgendes ein: String fester Länge nvarchar(<Stringlänge>) String variabler Länge (Memofeld) ntext Date datetime Long Int Double Float Boolean bit c. "Diese Spalte in die folgenden Publikationen einfügen": Wählen Sie aus, in welchen Publikationen (Replikate) das Feld verfügbar sein soll (im Normalfall sollten Sie alle Publikationen auswählen). SQL Replication Seite 3 7.) Betätigen Sie Ihre Änderungen mit der "OK"-Schaltfläche in beiden Fenstern. 8.) Das neue Feld wird bei der nächsten Synchronisation in die Replikate übertragen. 9.) Es muss noch dafür gesorgt werden, dass das neue Feld in den orgAniceKonfigurationsdateien (odb-Dateien) bei den Abonnenten verfügbar wird. Hier gibt es grundsätzlich zwei Möglichkeiten: a. Manuell: Fügen Sie das Feld wie Pkt. 1 beschrieben in jeder odb-Datei hinzu. b. Automatisch: Verwenden Sie das Produkt orgAnice Customizer um die Änderungen automatisch in die Replikate einzuspielen bzw. den orgAnice Installer um die Änderung als UpdatePaket den Benutzern der Replikation zur Verfügung zu stellen. Die Tools orgAnice Customizer und orgAnice Installer sind in der Lage auch Änderungen der Oberfläche (neue Tabellenlayouts, Steuerelemente) zu übertragen. Weitere Informationen zu diesen Produkten finden Sie auf der Webseite der orgAnice Software GmbH www.orgAnice.de Andere Änderungen: Andere Änderungen (z.B. Ändern der Feldlänge, Hinzufügen von Tabellen) sich bei laufender Replikation nicht zugelassen. In solchen Fällen müssen 1.) Alle Publikationen entfernt, 2.) die Änderungen durchgeführt und 3.) die Replikate neu erstellt werden. SQL Replication Seite 4