cobra Wissensdatenbank

Frequently Asked Questions rund um Ihr cobra CRM

Fehlermeldung durch fehlendes Feld (z.B LASTNAME0)

ab V2017

 

Hintergrund:
cobra erwartet zur Funktion teilweise historisch gegebene Felder. Sind diese Felder (oder eines davon) nicht in der Datenbankstruktur vorhanden, kann dies zu Funktionsbeeinträchtigungen führen.

Beispiele:

  • LASTNAME0
  • FIRSTNAME0
  • TITLE0
  • LASTNAME1
  • ...
  • LASTNAME2
  • ...

 

Hinweise dazu finden sich in der cobra Logdatei (LINK):
Beispiel: [DATUM] Logging.CobraLogger WARN  - Error Performing PerformModuleDatabaseUpdate:
System.Data.SqlClient.SqlException (0x80131904): Ungültiger Spaltenname 'LASTNAME0'.

 

Hinweise:

  • Für die folgende Abhilfe sind zwingend Kenntnisse im Bereich Microsoft SQL und Management Studio notwendig und ist nur für Fachpersonal vorgesehen. cobra übernimmt keine Gewähr und auch keinen weiterführenden Support für das folgende Script.
  • Eine vorherige Datensicherung ist obligatorisch.
  • Bitte vorab möglichst mit einer Datenbankkopie testen.
  • Sollte in der Log-Datei ein anderes Feld außer LASTNAME0 oder LASTNAME1 oder LASTNAME2 aufgeführt sein, so muss bei Bedarf der Name und MEMBERSHIP-Wert im Skript angepasst werden. Hier empfehlen wir eine Dienstleistung.

 

Abhilfe:
Passen Sie das folgende Script entsprechend an:

  • Der Platzhalter "Feldname" muss passend benannt werden
  • Der Platzhalter 'TEXT100' muss an zwei Stellen umbenannt werden

 und führen es auf die Problemdatenbank aus.

SQL Skript: DOWNLOAD

BEGIN TRANSACTION;

-- Tabelle die erweitert werden soll
ALTER TABLE [dbo].[ADDRESSES]
ADD    [TEXT100] [NVARCHAR](100) NULL;

       
--Table ID ermitteln
DECLARE @TABLE_ID_COBRA INT;
SET @TABLE_ID_COBRA = ( SELECT  ID
                        FROM    AP_TABLES
                        WHERE   LOGICAL_NAME = 'ADDRESSES'
                      );


--Felder in die AP_FIELDINFOS eintragen
INSERT  INTO dbo.AP_FIELDINFOS
        ( TABLE_ID ,
          SEQUENCE_NUMBER ,
          USERLEVEL_NAME ,
          LOGICAL_NAME ,
          DEFAULT_VALUE ,
          AUTOVALUE ,
          INFOTEXT ,
          VIRTUAL_FIELD_DEF ,
          FORMAT_MASK ,
          SELECTION_LIST ,
          TYPE ,
          MEMBERSHIP ,
          DEFAULT_CONTROL_TYPE ,
          CATEGORY_FIELD ,
          PK_FIELD_ID ,
          MEMBERSHIPEXT ,
          FILTER ,
          RELATION_SOURCEMODE ,
          CONTEXT_HELP
             )
VALUES  ( @TABLE_ID_COBRA ,
          150 ,
          N'Feldname' ,
          N'TEXT110',
          N'' ,
          N'' ,
          NULL ,
          N'' ,
          N'' ,
          NULL ,
          0 ,
          679477502 ,
          NULL ,
          NULL ,
          NULL ,
          0 ,
          NULL ,
          0 ,
          NULL
        );
COMMIT;

 

 

Kurzanleitung:

  1. Im Management Studio die betroffene DB auswählen
  2. "Neue Abfrage" starten
  3. Das Skript in den Abfragebereich einfügen
  4. Platzhalterbezeichnung ändern
  5. Platzhalterbezeichnung ändern
  6. Wenn alles korrekt vorbereitet wurde, Skript ausführen
  7. alle Benutzersichten im Zweig "Systemsichten" (Views) mit der Bezeichnung "dbo.cobra_View_ADDRESSES_xxx" entfernen


  • Erfolgt die Meldung "1 Zeile betroffen", wurde das Skript erfolgreich ausgeführt.
  • Erscheint stattdessen die Meldung "Meldung 2705, Ebene 16, Status 4, Zeile 4 Spaltennamen müssen in jeder Tabelle eindeutig sein...", so ist das angegebene Feld bereits in der DB vorhanden.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Tags: Absturz, COMPANY0, EMAIL0, LASTNAME0, LASTNAME1, Skript

Kommentieren nicht möglich