andreas_horn
I'm new here

DB Schemata - Feldlänge ändern

Jump to solution

Hallo,

ich möchte innerhalb einer Datenquelle das Mapping ändern.

In einem Textfeld welches auf eine Länge von 64 Zeichen begrenzt ist soll mehr Text gespeichert werden.

<xs:element dbName="NAME" javaType="java.lang.String" length="64" name="name" nullable="1" type="xs:string"/>

Kann ich im DB Schemata die maximale Länge, hier length="64", erhöhen ohne Datenverlust?

Viele Grüße,

Andreas

0 Kudos
1 Solution

Accepted Solutions

Hallo,

ich hatte es wie folgt gemacht:

1. in der DB die Feldlänge erhöht (DB-Admin)

2. im FS die Spaltenlänge über Schema manuell bearbeiten geändert.

Zumindest hat das bei mir funktioniert.

Das ist sicher kein empfohlener Weg, aber wenn's funktioniert ... dann halt auf eigenes risiko (und die Daten habe ich immer vorher gesichert). Zumindest solltest Du das testen, ehe Du es produktiv verwendest.

Grüße

Andreas

View solution in original post

0 Kudos
3 Replies
teichmann
Crownpeak employee

Hallo,

die manuelle Anpassung einer Datenbankspalte ist grundsätzlich möglich, wenn auch etwas umständlich und ohne Anpassungen direkt an der Datenbank durch einen DB-Admin meines Wissens nach nicht möglich.
Der Hintergrund ist folgender: Wenn Sie versuchen, die Länge der Spalte manuell im .xml zu ändern, also zum Beispiel auf
<xs:element dbName="NAME" javaType="java.lang.String" length="128" name="name" nullable="1" type="xs:string"/> ,

dann wird in der Datenbank eine weitere Spalte angelegt und mit einem Counter hochgezählt, da der Typ (String) zwar übereinstimmt, jedoch von der Größe her nicht mehr in die alte Spalte passt.

Sie bekommen also nach einer Aktualisierung beim erneuten Einsehen der .xml folgendes:
<xs:element dbName="NAME2" javaType="java.lang.String" length="128" name="name" nullable="1" type="xs:string"/> .

In der Datenbank exisitieren nun 2 Spalten:
"NAME", mit den alten Daten und

"NAME2" , die leer ist, da sie neu erzeugt wurde. Da in ihren Datensätzen nun eine leere Spalte referenziert wird, könnte der falsche Eindruck entstehen dass die Daten verloren gegangen sind, hier wurde jedoch nur eine neue Spalte automatisiert angelegt, die alten Daten wären noch vorhanden und müssten in die neue Spalte übertragen werden, wofür ein Datenbank-Admin zuständig wäre.

Ich hoffe das hilft Ihnen weiter,

Viele Grüße

Jascha

0 Kudos

Hallo,

ich hatte es wie folgt gemacht:

1. in der DB die Feldlänge erhöht (DB-Admin)

2. im FS die Spaltenlänge über Schema manuell bearbeiten geändert.

Zumindest hat das bei mir funktioniert.

Das ist sicher kein empfohlener Weg, aber wenn's funktioniert ... dann halt auf eigenes risiko (und die Daten habe ich immer vorher gesichert). Zumindest solltest Du das testen, ehe Du es produktiv verwendest.

Grüße

Andreas

0 Kudos
andreas_horn
I'm new here

Hallo,

und Danke für euer Feedback.

Das Vorgehen welches Herr Vogt beschreibt ist mir auch so vom Helpdesk beschrieben worden.

Bei Anlegen eines Feldes in einer bestimmten Länge, hat FS ich Nachgang keine Möglichkeit mehr die Feldlänge zu ändern.

Viele Grüße,

Andreas

0 Kudos