Neu DB-Schema: Die Spalte lässt NULL-Werte nicht zu

binary-artworks.com

Aktives Mitglied
21. September 2016
15
0
Nach einem Update auf 1.4.35.2 können keine Rechnungskorrekturen angelegt werden, weil das DB-Schema offenbar nicht korrekt aktualisiert wurde:
Code:
Der Wert NULL kann in die fPreis-Spalte, eazybusiness.dbo.tgutschrift-Tabelle nicht eingefügt werden. Die Spalte lässt NULL-Werte nicht zu. Fehler bei INSERT.
Beim Versuch einer Änderung zu "allows Nulls" im SQL-Management-Studio wird darauf hingewiesen, dass eine Neuerstellung der Tabelle die einzige Möglichkeit ist.

Wie kann ich die Eigenschaften der Spalte ändern, ohne die Tabelle zu löschen?
 

Enrico W.

Moderator
Mitarbeiter
27. November 2014
3.180
343
Bitte führe keine Eingriffe auf die Datenbank durch! Damit werden wieder Folgefehler produziert.
Wenn Du updatest, dann bitte auf eine halbwegs aktuelle Version. Wir sind mittlerweile bei der 1.5.9.0. Wenn der Fehler damit noch immer auftreten sollte erstell bitte ein Supportticket oder wende Dich hier noch einmal an uns, damit wir einen Kontakt herstellen können. Aber nie, nie, nie, nie einfach in die Datenbank eingreifen.
 

binary-artworks.com

Aktives Mitglied
21. September 2016
15
0
Hallo Enrico!

Bitte führe keine Eingriffe auf die Datenbank durch! Damit werden wieder Folgefehler produziert.
Wenn Du updatest, dann bitte auf eine halbwegs aktuelle Version. Wir sind mittlerweile bei der 1.5.9.0. Wenn der Fehler damit noch immer auftreten sollte erstell bitte ein Supportticket oder wende Dich hier noch einmal an uns, damit wir einen Kontakt herstellen können. Aber nie, nie, nie, nie einfach in die Datenbank eingreifen.
Danke für deine Antwort! Die 1.4.35.2 ist leider die Version, bis zu der a) das Schema-Update nach dem Wawi-Update ohne Probleme läuft und die b) noch downloadbar ist.
Beim Versuch, auf 1.5.7.2 (die höchste, die LS-POS als kompatibel angibt), kommt es beim Update-Schritt auf 1.4.900.0 zu folgender Fehlermeldung:

Code:
Unbehandelte Ausnahme #959190594F6282F vom Typ System.Exception in
System.Exception: 10:15:16 Fehler in der Version 1.4.900.0 beim Befehl:
==============================================
CREATE TABLE [FulfillmentNetwork].[tMerchantVersandRef]
(
    kMerchantVersandRef int NOT NULL IDENTITY,
    kVersand int NOT NULL,
    kLieferschein int NOT NULL,
    dCreatedAt datetimeoffset NOT NULL,
    dUpdatedAt datetimeoffset NULL,
    cOwnerId varchar(10) NULL,
    cOutboundShippingNotificationId varchar(255) NULL,
    bRowVersion binary(8) NOT NULL,
    CONSTRAINT [PK_FulfillmentNetwork.tMerchantVersandRef] PRIMARY KEY CLUSTERED (kMerchantVersandRef ASC),
    CONSTRAINT [FK_dbo_tMerchantVersandRef_kVersand] FOREIGN KEY ([kVersand])    
    REFERENCES [dbo].[tVersand] ([kVersand])
    ON DELETE CASCADE,  
    CONSTRAINT [FK_FulfillmentNetwork_tMerchantVersandRef_kLieferschein] FOREIGN KEY ([kLieferschein])    
    REFERENCES [dbo].[tLieferschein] ([kLieferschein])
    ON DELETE CASCADE
)
CREATE UNIQUE INDEX IX_FulfillmentNetwork_tMerchantVersandRef_cOutboundShippingNotificationId_kVersand ON [FulfillmentNetwork].[tMerchantVersandRef] (cOutboundShippingNotificationId,kVersand DESC)
CREATE INDEX IX_FulfillmentNetwork_tMerchantVersandRef_cOwnerId ON [FulfillmentNetwork].[tMerchantVersandRef] (cOwnerId DESC)
==============================================
Message: In der dbo.tLieferschein-Tabelle, auf die verwiesen wird, befinden sich keine primären oder Kandidatenschlüssel, die mit der verweisenden Spaltenliste im FK_FulfillmentNetwork_tMerchantVersandRef_kLieferschein-Fremdschlüssel übereinstimmen.
LineNumber: 1
Procedure:


Unbehandelte Ausnahme #959190594F6282F vom Typ System.Exception in : 10:15:16 Fehler in der Version 1.4.900.0 beim Befehl:
==============================================
CREATE TABLE [FulfillmentNetwork].[tMerchantVersandRef]
(
    kMerchantVersandRef int NOT NULL IDENTITY,
    kVersand int NOT NULL,
    kLieferschein int NOT NULL,
    dCreatedAt datetimeoffset NOT NULL,
    dUpdatedAt datetimeoffset NULL,
    cOwnerId varchar(10) NULL,
    cOutboundShippingNotificationId varchar(255) NULL,
    bRowVersion binary(8) NOT NULL,
    CONSTRAINT [PK_FulfillmentNetwork.tMerchantVersandRef] PRIMARY KEY CLUSTERED (kMerchantVersandRef ASC),
    CONSTRAINT [FK_dbo_tMerchantVersandRef_kVersand] FOREIGN KEY ([kVersand])    
    REFERENCES [dbo].[tVersand] ([kVersand])
    ON DELETE CASCADE,  
    CONSTRAINT [FK_FulfillmentNetwork_tMerchantVersandRef_kLieferschein] FOREIGN KEY ([kLieferschein])    
    REFERENCES [dbo].[tLieferschein] ([kLieferschein])
    ON DELETE CASCADE
)
CREATE UNIQUE INDEX IX_FulfillmentNetwork_tMerchantVersandRef_cOutboundShippingNotificationId_kVersand ON [FulfillmentNetwork].[tMerchantVersandRef] (cOutboundShippingNotificationId,kVersand DESC)
CREATE INDEX IX_FulfillmentNetwork_tMerchantVersandRef_cOwnerId ON [FulfillmentNetwork].[tMerchantVersandRef] (cOwnerId DESC)
==============================================
Message: Die Einschränkung oder der Index konnte nicht erstellt werden. Siehe vorherige Fehler.
LineNumber: 1
Procedure:


2019-10-22T10:15:16 DEBUG - Dauer: 3ms
2019-10-22T10:15:16 DEBUG - ALTER TABLE [FulfillmentNetwork].[tStockRef]  WITH CHECK ADD  CONSTRAINT [FK_tStockRef_tArtikel_kArtikel] FOREIGN KEY([kArtikel])
REFERENCES [dbo].[tArtikel] ([kArtikel])
ON DELETE CASCADE
2019-10-22T10:15:16 DEBUG - Dauer: 1ms
2019-10-22T10:15:16 DEBUG - ALTER TABLE [FulfillmentNetwork].[tStockRef] CHECK CONSTRAINT [FK_tStockRef_tArtikel_kArtikel]
2019-10-22T10:15:16 DEBUG - Dauer: 1ms
2019-10-22T10:15:16 DEBUG - CREATE TABLE [FulfillmentNetwork].[tMerchantStockChange] (
  kMerchantStockChange INT NOT NULL IDENTITY,
  dProcessedAt datetimeoffset NULL,
  nProcessingState tinyint NOT NULL,
  cWarehouseId varchar(255) NOT NULL,
  cJfsku varchar(255) NOT NULL,
  nStockVersion int NOT NULL,
  dTimestamp datetimeoffset NOT NULL,
  nChangeType tinyint NOT NULL,
  cNote varchar(MAX) NULL,
  cBatch varchar(255) NULL,
  dBestBefore datetimeoffset NULL,
  fQuantityShippable DECIMAL(28, 14) NOT NULL,
  fQuantityBlocked DECIMAL(28, 14) NOT NULL,
  fQuantityReserved DECIMAL(28, 14) NOT NULL,
  fQuantityAnnounced DECIMAL(28, 14) NOT NULL,
  fLevelShippable DECIMAL(28, 14) NOT NULL,
  fLevelBlocked DECIMAL(28, 14) NOT NULL,
  fLevelReserved DECIMAL(28, 14) NOT NULL,
  fLevelAnnounced DECIMAL(28, 14) NOT NULL,
  cInboundNumber varchar(255) NULL,
  cInboundItemId varchar(255) NULL,
  cOutboundNumber varchar(255) NULL,
  cOutboundItemId varchar(255) NULL,
  cOutboundShippingNotificationId varchar(255) NULL,
  cOutboundShippingNotificationItemId varchar(255) NULL,
  CONSTRAINT [PK_FulfillmentNetwork.tMerchantStockChange] PRIMARY KEY CLUSTERED (kMerchantStockChange ASC)
)

CREATE UNIQUE INDEX IX_FulfillmentNetwork_tMerchantStockChange_cWarehouseId_cJfsku_nStockVersion
ON [FulfillmentNetwork].[tMerchantStockChange] (cWarehouseId DESC, cJfsku DESC, nStockVersion DESC)

CREATE NONCLUSTERED INDEX IX_FulfillmentNetwork_nProcessingState_dTimestamp
ON [FulfillmentNetwork].[tMerchantStockChange] (nProcessingState DESC, dTimestamp ASC)

CREATE TABLE [FulfillmentNetwork].[tShippingMethodMapping] (
  kShippingMethodMapping INT NOT NULL IDENTITY,
  nType tinyint NOT NULL,
  cShippingMethodId varchar(255) NOT NULL,
  nDefault tinyint NOT NULL,
  nActive tinyint NOT NULL,
  kVersandart int NOT NULL,
  kKunde int NULL,
  kWarenlager int NULL,
  nShippingType int NOT NULL,
  CONSTRAINT [PK_FulfillmentNetwork.tShippingMethodMapping] PRIMARY KEY CLUSTERED (kShippingMethodMapping ASC),
  CONSTRAINT [FK_dbo_tVersandart_kVersandart] FOREIGN KEY ([kVersandart])    
    REFERENCES [dbo].[tVersandart] ([kVersandart])
    ON DELETE CASCADE,
  CONSTRAINT [FK_dbo_tKunde_kKunde] FOREIGN KEY ([kKunde])    
    REFERENCES [dbo].[tKunde] ([kKunde])
    ON DELETE CASCADE,
  CONSTRAINT [FK_dbo_tWarenlager_kWarenlager] FOREIGN KEY ([kWarenlager])    
    REFERENCES [dbo].[tWarenlager] ([kWarenlager])
    ON DELETE CASCADE,
)
2019-10-22T10:15:16 DEBUG - Dauer: 7ms
2019-10-22T10:15:16 DEBUG - ALTER TABLE FulfillmentNetwork.tShippingMethodMapping
ADD CONSTRAINT UQ_tShippingMethodMapping_cShippingMethodId_kVersandart_kWarenlager_nActive_nType UNIQUE (cShippingMethodId,kVersandart,kWarenlager,nActive,nType);
2019-10-22T10:15:16 DEBUG - Dauer: 2ms
2019-10-22T10:15:16 DEBUG - CREATE TABLE [FulfillmentNetwork].[tOutboundRef] (
    kOutboundRef INT NOT NULL IDENTITY(1,1),
    kFulfillmentAuftrag INT NULL,
    kBestellung INT NOT NULL,
    nType TINYINT NOT NULL,
    dCreatedAt DATETIMEOFFSET NOT NULL,
    dUpdatedAt DATETIMEOFFSET,
    cOwnerId VARCHAR(10),
    cOutboundId VARCHAR(255),
    cNote VARCHAR(Max),
    nChangeState tinyint NULL,
    bRowVersion BINARY(8) NOT NULL,
    CONSTRAINT [PK_FulfillmentNetwork.tOutboundRef] PRIMARY KEY CLUSTERED (kOutboundRef ASC),
)
CREATE NONCLUSTERED INDEX [IX_FulfillmentNetwork_tOutboundRef_cOutboundId] ON [FulfillmentNetwork].[tOutboundRef] (cOutboundId DESC)
CREATE NONCLUSTERED INDEX [IX_FulfillmentNetwork_tOutboundRef_cOwnerId] ON [FulfillmentNetwork].[tOutboundRef] (cOwnerId DESC)
2019-10-22T10:15:16 DEBUG - Dauer: 4ms
2019-10-22T10:15:16 DEBUG - ALTER TABLE FulfillmentNetwork.tOutboundRef
ADD CONSTRAINT FK_dbo_tOutboundRef_kFulfillmentAuftrag FOREIGN KEY (kFulfillmentAuftrag)
REFERENCES dbo.tFulfillmentAuftrag (kFulfillmentAuftrag) ON DELETE CASCADE ON UPDATE NO ACTION
2019-10-22T10:15:16 DEBUG - Dauer: 1ms
2019-10-22T10:15:16 DEBUG - ALTER TABLE FulfillmentNetwork.tOutboundRef
ADD CONSTRAINT FK_dbo_tOutboundRef_kBestellung FOREIGN KEY (kBestellung)
REFERENCES dbo.tBestellung (kBestellung) ON DELETE CASCADE ON UPDATE NO ACTION
2019-10-22T10:15:16 DEBUG - Dauer: 1ms
2019-10-22T10:15:16 DEBUG - EXEC sp_rename 'dbo.tbestellung.cJfoid', 'cOutboundId', 'COLUMN';
ALTER TABLE dbo.tbestellung ALTER COLUMN cOutboundId VARCHAR(255) NULL;
2019-10-22T10:15:16 DEBUG - Dauer: 3ms
2019-10-22T10:15:16 DEBUG - EXEC sp_rename 'dbo.tfulfillmentauftrag.cJfoid', 'cOutboundId', 'COLUMN';
ALTER TABLE dbo.tfulfillmentauftrag ALTER COLUMN cOutboundId VARCHAR(255) NULL;
2019-10-22T10:15:16 DEBUG - Dauer: 3ms
2019-10-22T10:15:16 DEBUG - CREATE TABLE [FulfillmentNetwork].[tMerchantVersandRef]
(
    kMerchantVersandRef int NOT NULL IDENTITY,
    kVersand int NOT NULL,
    kLieferschein int NOT NULL,
    dCreatedAt datetimeoffset NOT NULL,
    dUpdatedAt datetimeoffset NULL,
    cOwnerId varchar(10) NULL,
    cOutboundShippingNotificationId varchar(255) NULL,
    bRowVersion binary(8) NOT NULL,
    CONSTRAINT [PK_FulfillmentNetwork.tMerchantVersandRef] PRIMARY KEY CLUSTERED (kMerchantVersandRef ASC),
    CONSTRAINT [FK_dbo_tMerchantVersandRef_kVersand] FOREIGN KEY ([kVersand])    
    REFERENCES [dbo].[tVersand] ([kVersand])
    ON DELETE CASCADE,  
    CONSTRAINT [FK_FulfillmentNetwork_tMerchantVersandRef_kLieferschein] FOREIGN KEY ([kLieferschein])    
    REFERENCES [dbo].[tLieferschein] ([kLieferschein])
    ON DELETE CASCADE
)
CREATE UNIQUE INDEX IX_FulfillmentNetwork_tMerchantVersandRef_cOutboundShippingNotificationId_kVersand ON [FulfillmentNetwork].[tMerchantVersandRef] (cOutboundShippingNotificationId,kVersand DESC)
CREATE INDEX IX_FulfillmentNetwork_tMerchantVersandRef_cOwnerId ON [FulfillmentNetwork].[tMerchantVersandRef] (cOwnerId DESC)
2019-10-22T10:15:16 DEBUG - Dauer: 19ms
2019-10-22T10:15:16 DEBUG - SELECT * FROM tUpdateLog WHERE kUpdateLog > @kUpdateLog
kUpdateLog = 2
2019-10-22T10:15:16 DEBUG - Dauer: 2 ms, 0 Zeilen
2019-10-22T10:15:16 DEBUG - SELECT (CASE WHEN SERVERPROPERTY('MACHINENAME') = HOST_NAME() THEN 'local' ELSE 'remote' END) AS instance
2019-10-22T10:15:16 DEBUG - Dauer: 0ms, Result: local
Zeitstempel: 2019-10-22T10:15:53
Locale: German (Germany)
Locale: German (Germany)
Version: 1.5.7.2
Plattform: Wawi
WawiSeed: 1.6.40880.29001
Versionshash: 338678EE
Prozessname: JTL-Wawi
Physikalischer Speicher: 360927232 / Peak: 362631168
Basispriorität: 8
Prioritätsklasse: Normal
CPU-Zeit (User): 0:00:09,390625
CPU-Zeit (System): 0:00:02,359375
Page-Size (Sytem): 2051808 / Peak: 314826752
Page-Size: 312557568 / Peak: 314826752
Offene Handles: 1269
Database:
Build: 1909230848 1335b960911d99c0fd8bdf19d06dc1e482a5ea0f
Aus diesem Grund sind wir vorerst auf der 1.4.35.2 geblieben, bis wir das nächste Maintenance-Fenster haben. Ich vermute, es liegt daran, dass wir seinerzeit mit einer 0.99923 (oder so) gestartet sind und im DB-Schema dadurch noch ein paar Altlasten enthalten sind, die nicht durch die Update-Skripte erfasst wurden. Falls ihr uns beim Schritt auf die 1.5.7.2 unterstützen könntet, wäre das natürlich große Klasse! :)
 

Enrico W.

Moderator
Mitarbeiter
27. November 2014
3.180
343
Verstehe ich das richtig, dass ihr kein Supportticket erstellen könnt?
Ich hab mal einen Kollegen aus der Fachabteilung gebeten, hier reinzuschauen. Ich denke, er nimmt dann direkt mit Euch Kontakt auf. Primäres Ziel wäre dann erst mal, das Update durchführen zu können.
 
Zuletzt bearbeitet:

Über uns

  • In unserem moderierten JTL-Forum könnt Ihr Euch themenbezogen mit der JTL-Community rund um die Produkte von JTL, passende Erweiterungen und den E-Commerce im Allgemeinen austauschen, Tipps und Tricks teilen sowie Verbesserungswünsche und Fehler diskutieren.

    Unsere Forumsnutzer helfen sich untereinander auch gerne weiter, wenn Sie mal nicht weiterkommen oder einen Ratschlag benötigen.

Schnell-Navigation

Benutzer Menü