Neu Probleme Update 1.4.6.0 mit Release 1.4.23.2

  • Wenn Ihr uns das erste Mal besucht, lest euch bitte zuerst die Foren-Regeln durch.

blackshadow

Gut bekanntes Mitglied
25. September 2010
313
0
#1
Hallo,

habe heute begonnen auf 1.4.23.2 upzudaten. (Ausgangsversion 1.3.18.0)
Bei meiem Testsystem hatte ich bis dato kein Problem. (War nicht der gleiche Stand wie bei der aktiven Datenbank,
aber die Einträge, welche in der besagten Spalte ein NULL beinhalteten waren definitiv älter als 2013)

Einziger Unterschied war das ich meine Test Datenbank mehrmals mit den verschiedenen Candidate Releases gehoben habe,
je nachdem welches gerade released wurde.

FEHLER 1:

Code:
Unbehandelte Ausnahme #959190594F6282F vom Typ System.Exception in
System.Exception: 05:40:50 Fehler in der Version 1.4.6.0 beim Befehl:
==============================================
--Vorgang 15 - Nachricht an Kunde gesendet

UPDATE dbo.tMessages SET sSentMailDate = CAST(sSentMailDate AS DATETIME);

INSERT INTO Kunde.tHistorie (kVorgang, kKunde, kKey, cValue1, dErstellt)
SELECT 15 AS kVorgang, tMessages.kKunde AS kKunde, tMessages.kMessages AS kKey,
CASE WHEN LEN(tMessages.sBereff) >= 255
    THEN CONCAT(LEFT(tMessages.sBereff, 252), '...')
    ELSE
        tMessages.sBereff
END AS cValue1,
tMessages.sSentMailDate AS dErstellt
FROM dbo.tMessages;
==============================================
Message: Der Wert NULL kann in die dErstellt-Spalte, eazybusiness.Kunde.tHistorie-Tabelle nicht eingefügt werden. Die Spalte lässt NULL-Werte nicht zu. Fehler bei INSERT.
LineNumber: 5
Dies konnte ich beheben durch ein Update Query auf die tMessages Tabelle (Hab einfach irgendein markantes Datum verwendet.

Code:
update [eazybusiness].[dbo].[tMessages] set sSentMailDate = '01.01.2000 00:00' where sSentMailDate is NULL
FEHLER 2:

In tBestellung war ein eintrag mit dErstellt = null --> war von 2017... also bei meiner test db auch schon vorhanden ...

Code:
Unbehandelte Ausnahme #959190594F6282F vom Typ System.Exception in
System.Exception: 06:16:19 Fehler in der Version 1.4.6.0 beim Befehl:
==============================================
--Vorgang 18 Angebot Erstellt
INSERT INTO Kunde.tHistorie (kVorgang, kKunde, kAuftrag, kKey, cValue1, dErstellt, kBenutzer)
SELECT 18 AS kVorgang, tBestellung.tKunde_kKunde AS kKunde, tBestellung.kBestellung AS kAuftrag, tBestellung.kBestellung AS kKey,
tBestellung.cBestellNr AS cValue1, tBestellung.dErstellt as dErstellt, tBestellung.tBenutzer_kBenutzer AS kBenutzer
FROM dbo.tBestellung
WHERE tBestellung.cType = 'A';
==============================================
Message: Der Wert NULL kann in die dErstellt-Spalte, eazybusiness.Kunde.tHistorie-Tabelle nicht eingefügt werden. Die Spalte lässt NULL-Werte nicht zu. Fehler bei INSERT.
LineNumber: 2
Procedure:
konnte ich mit folgendem Query beheben... (war genau 1(!) Eintrag)

Code:
update  [eazybusiness].[dbo].tBestellung set dErstellt = '01.01.2017 00:00'  where dErstellt is null
Vielleicht hat wer das selbe Thema ...

Aber eine Routine die dieses Thema beim Upgrade behandelt wäre sicherlich nett ;)

lg
 
Zuletzt bearbeitet:

_simone_

Sehr aktives Mitglied
17. Februar 2013
2.422
151
Emsland
#2
Den gleichen Bug hatte ich auch, da meine DB seit 2009 läuft. Ich hab dann, dank dem Support, 721 Daten aus der "sSentMailDate"-Spalte gelöscht. Da waren auch noch Einträge, die 16 anstatt 19 Stellen hatten; es wurde damals wohl noch nicht die Sekunden mit gespeichert.
Der Bug ist auf jeden Fall JTL bekannt und wird hoffentlich gefixt.
 

lohkaes

Gut bekanntes Mitglied
27. April 2007
170
2
#3
Hallo,

wollte heute von Version 1.3.20 auf die Version 1.4.23.2 updaten.
Kurz vor Ende ist das Update mit folgendem Fehler abgebrochen:


Unbehandelte Ausnahme #959190594F6282F vom Typ System.Exception in
System.Exception: 02:02:35 Fehler in der Version 1.4.6.0 beim Befehl:
==============================================
--Vorgang 20 und 21
INSERT INTO Kunde.tHistorie (kKunde,
kAuftrag,
kVorgang,
kKey,
cValue1,
cValue2,
cValue3,
fValue1,
fValue2,
dErstellt,
kBenutzer)
SELECT tBestellung.tKunde_kKunde,
tZahlung.kBestellung,
CASE WHEN (tBestellungEckDaten.fWert = (SELECT SUM (alle.fBetrag) FROM tZahlung AS alle WHERE alle.kZahlung <= tZahlung.kZahlung AND alle.kBestellung = tZahlung.kBestellung)) THEN 21 ELSE 20 END,
tZahlung.kZahlung,
trechnung.cRechnungsNr,
tZahlungsart.cName,
tBestellung.cWaehrung,
tZahlung.fBetrag,
ROUND( tBestellungEckDaten.fWert - (SELECT SUM (alle.fBetrag) FROM tZahlung AS alle WHERE alle.kZahlung <= tZahlung.kZahlung AND alle.kBestellung = tZahlung.kBestellung), 2),
tZahlung.dDatum,
tZahlung.kBenutzer
FROM dbo.tZahlung
JOIN dbo.tBestellung ON tBestellung.kBestellung = tZahlung.kBestellung
LEFT JOIN dbo.trechnung ON tBestellung.kBestellung = trechnung.tBestellung_kBestellung
JOIN dbo.tBestellungEckDaten ON tBestellungEckDaten.kBestellung = tBestellung.kBestellung
JOIN dbo.tZahlungsart ON tZahlungsart.kZahlungsart = tZahlung.kZahlungsart
WHERE tZahlung.fBetrag > 0.0;
==============================================
Message: Der Wert NULL kann in die dErstellt-Spalte, JTL_SIM_eazybusiness.Kunde.tHistorie-Tabelle nicht eingefügt werden. Die Spalte lässt NULL-Werte nicht zu. Fehler bei INSERT.
LineNumber: 2
Procedure:

Wer hat hier eine Lösung? Gibt es hier in naher Zukunft eine neue Version die diesen Updatefehler berücksichtigt, oder muss hier irgendwie "gebastelt" werden.
Danke. Gruß
 

blackshadow

Gut bekanntes Mitglied
25. September 2010
313
0
#5
Hallo,

Ich bin mir nicht sicher ob die Ausgangstabelle mit 1.3.20 tKundenHistorie ist, aber ich denke schon.
Folgendes Query ausführen. (Bitte davor ein Backup erstellen, falls nicht vorhanden)
Um Datenbank Query´s auszuführen benötigst du SQL Managment Studio. (falls keinerlei Erfahrung damit vorhanden, würde ich den Support aktivieren ;) )
Code:
update [eazybusiness].[dbo].[tKundenHistorie] set dErstellt = '01.01.2000 00:00' where dErstellt is NULL
das Datum "01.01.2000 00:00" kannst du mit einem beliebigen Datum ersetzen.
Man kann auch davor noch ein Query ausführen um sich ein Bild zu machen wieviel einträge in der Tabelle betroffen wären.

Code:
select * from [eazybusiness].[dbo].[tKundenHistorie] where dErstellt is NULL
Das Problem ist, dass die Tabelle davor 'NULL' Werte zu ließ und jetzt nicht mehr. Und dieses Scenario beim Upgrade nicht abgefangen wird.

mfg
 
Zuletzt bearbeitet:

Matchy

Aktives Mitglied
4. Januar 2011
73
11
#6
Hallo Zusammen,

beim Update von Version 1.3.16.0 auf Version 1.4.24.1 trat oben beschriebener Fehler auch bei uns auf, siehe wie folgt und Anhänge:


SQL:
Unbehandelte Ausnahme #959190594F6282F vom Typ System.Exception in
System.Exception: 10:40:15 Fehler in der Version 1.4.6.0 beim Befehl:
==============================================
--Vorgang 15 - Nachricht an Kunde gesendet

UPDATE dbo.tMessages SET sSentMailDate = CAST(sSentMailDate AS DATETIME);

INSERT INTO Kunde.tHistorie (kVorgang, kKunde, kKey, cValue1, dErstellt)
SELECT 15 AS kVorgang, tMessages.kKunde AS kKunde, tMessages.kMessages AS kKey,
CASE WHEN LEN(tMessages.sBereff) >= 255
    THEN CONCAT(LEFT(tMessages.sBereff, 252), '...')
    ELSE
        tMessages.sBereff
END AS cValue1,
tMessages.sSentMailDate AS dErstellt
FROM dbo.tMessages;
==============================================
Message: Der Wert NULL kann in die dErstellt-Spalte, eazybusiness.Kunde.tHistorie-Tabelle nicht eingefügt werden. Die Spalte lässt NULL-Werte nicht zu. Fehler bei INSERT.
LineNumber: 5
Procedure:



Viele Grüße,
Mathias Hein
 

Anhänge

forumjtlolshopag

Aktives Mitglied
6. Juni 2018
149
22
#7
Habt ihr das auch dem Support mitgeteilt? Nicht dass das untergeht. Mit dem Update 1.4.24.1 wurde das ja noch nicht gelöst, obwohl es ja schon mit 1.4.23.2 auftrat...
 

Matchy

Aktives Mitglied
4. Januar 2011
73
11
#9
Hallo,

ich habe heute auch ein Ticket#2019040110001749 erstellt. Somit sollte es bekannt sein.

VG,
Matze
 

_simone_

Sehr aktives Mitglied
17. Februar 2013
2.422
151
Emsland
#11
Ein Hinweis von JTL bezüglich der "null"-Werte in einer DB älteren Baujahres wäre nicht schlecht, damit sich nicht immer wieder Tester mit dem gleichen Problem rumschlagen müssen.
So wie ich das gesehen habe, ist es auch in der neuesten Version 1.4.25.0 noch nicht gefixt, bzw. nicht kommuniziert.
 

Ähnliche Themen