Neu Update Wawi von 1.0.11 auf 1.9

ebds

Neues Mitglied
21. September 2024
1
0
Hallo zusammen,
ich habe grosses vor mir und versuche gerade "Step by Step" ein Update einer sehr veralteten Wawi Version durchzufuehren.
Derzeit versuche ich ein Update von 1.0.11 auf 1.1.4.14 (weil ich nichts aelteres finden konnte)
Die ersten 2 Fehlermeldungen die ich hatte mit der Collation konnte ich loesen. Doch nun wenn ich versuche die DB zu importieren (Reperatur wurde bereits ausgefuehrt) erhalte ich folgenden Log:

Code:
Unbehandelte Ausnahme #5AC80CA6F45F9EC0 vom Typ System.Data.SqlClient.SqlException in Void OnError(System.Data.SqlClient.SqlException, Boolean, System.Action`1[System.Action])
System.Data.SqlClient.SqlException (0x80131904): DF_tMahnstufe_nBevorzugeKundenZahlungsziel ist keine Einschränkung.
Die Einschränkung konnte nicht gelöscht werden. Siehe vorherige Fehler.
   bei System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
   bei System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
   bei System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
   bei System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
   bei System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async, Int32 timeout, Boolean asyncWrite)
   bei System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
   bei System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
   bei jtlDatabase.DB.ExecuteAndCatchDeadlock[T](SqlConnection oSqlConnection, Func`1 func)
   bei jtlDatabase.DB.executeLongRunningCommandSQL(String cSqlCommand, jtlDBParameter[] oDBParameter_arr)
   bei jtlCore.Classes.Update.SqlUpdater.<>c__DisplayClass2.<UpdateToVersion>b__0()
   bei jtlCore.Classes.Update.SqlUpdater.UpdateLogger.Log(Action action, Int32 index, String command)
   bei jtlCore.Classes.Update.SqlUpdater.UpdateToVersion(IList`1 sqlCommands, Version cVersion, TaskProgress oProgress)
ClientConnectionId:425088da-34ff-4922-9517-e690885132ad
Fehlernummer (Error Number):3728,Status (State):1,Klasse (Class):16
SQL-Fehlerinformationen: [LAPTOP-CH48PS9A\JTLWAWI .Net SqlClient Data Provider] Fehler #3728 (Klasse 16) in Zeile 1: DF_tMahnstufe_nBevorzugeKundenZahlungsziel ist keine Einschränkung. 
SQL-Fehlerinformationen: [LAPTOP-CH48PS9A\JTLWAWI .Net SqlClient Data Provider] Fehler #3727 (Klasse 16) in Zeile 1: Die Einschränkung konnte nicht gelöscht werden. Siehe vorherige Fehler. 
HelpLink.ProdName = Microsoft SQL Server
HelpLink.ProdVer = 14.00.2060
HelpLink.EvtSrc = MSSQLServer
HelpLink.EvtID = 3728
HelpLink.BaseHelpUrl = http://go.microsoft.com/fwlink
HelpLink.LinkId = 20476
CommandText = ALTER TABLE [dbo].[tMahnstufe] DROP CONSTRAINT [DF_tMahnstufe_nBevorzugeKundenZahlungsziel]
ALTER TABLE dbo.tMahnstufe DROP COLUMN nBevorzugeKundenZahlungsziel
LineNr = 1
Codefragment = ALTER TABLE [dbo].[tMahnstufe] DROP CONSTRAINT [DF_tMahnstufe_nBevorzugeKundenZahlungsziel]
Connection-String = DataSource=LAPTOP-CH48PS9A\JTLWAWI, InitialCatalog=eazybusiness, UserID=sa

Unbehandelte Ausnahme #5AC80CA6F45F9EC0 vom Typ System.Data.SqlClient.SqlException in Void OnError(System.Data.SqlClient.SqlException, Boolean, System.Action`1[System.Action]): DF_tkunde_nMahnrhytmus ist keine Einschränkung.
Die Einschränkung konnte nicht gelöscht werden. Siehe vorherige Fehler.
SQL-Fehler:
  Source: .Net SqlClient Data Provider
  Number: 3728
  State: 1
  Class: 16 (Anwendungsproblem)
  Server: LAPTOP-CH48PS9A\JTLWAWI
  Message: DF_tkunde_nMahnrhytmus ist keine Einschränkung.
  Procedure:
  LineNumber: 1

SQL-Fehler:
  Source: .Net SqlClient Data Provider
  Number: 3727
  State: 0
  Class: 16 (Anwendungsproblem)
  Server: LAPTOP-CH48PS9A\JTLWAWI
  Message: Die Einschränkung konnte nicht gelöscht werden. Siehe vorherige Fehler.
  Procedure:
  LineNumber: 1

HelpLink.ProdName = Microsoft SQL Server
HelpLink.ProdVer = 14.00.2060
HelpLink.EvtSrc = MSSQLServer
HelpLink.EvtID = 3728
HelpLink.BaseHelpUrl = http://go.microsoft.com/fwlink
HelpLink.LinkId = 20476
CommandText = ALTER TABLE [dbo].[tkunde] DROP CONSTRAINT [DF_tkunde_nMahnrhytmus]
LineNr = 1
Codefragment = ALTER TABLE [dbo].[tkunde] DROP CONSTRAINT [DF_tkunde_nMahnrhytmus]
Connection-String = DataSource=LAPTOP-CH48PS9A\JTLWAWI, InitialCatalog=eazybusiness, UserID=sa

Unbehandelte Ausnahme #5AC80CA6F45F9EC0 vom Typ System.Data.SqlClient.SqlException in Void OnError(System.Data.SqlClient.SqlException, Boolean, System.Action`1[System.Action]): Löschen des Index-Objekts "dbo.tWarenLagerPlatz.IX_tWarenLagerPlatz_kWarenLager" ist nicht möglich, weil das Objekt nicht vorhanden ist oder Sie nicht die erforderliche Berechtigung haben.
SQL-Fehler:
  Source: .Net SqlClient Data Provider
  Number: 3701
  State: 7
  Class: 11 (Anwendungsproblem)
  Server: LAPTOP-CH48PS9A\JTLWAWI
  Message: Löschen des Index-Objekts "dbo.tWarenLagerPlatz.IX_tWarenLagerPlatz_kWarenLager" ist nicht möglich, weil das Objekt nicht vorhanden ist oder Sie nicht die erforderliche Berechtigung haben.
  Procedure:
  LineNumber: 3

HelpLink.ProdName = Microsoft SQL Server
HelpLink.ProdVer = 14.00.2060
HelpLink.EvtSrc = MSSQLServer
HelpLink.EvtID = 3701
HelpLink.BaseHelpUrl = http://go.microsoft.com/fwlink
HelpLink.LinkId = 20476
CommandText = -- dbo.tWarenLagerPlatz.nStatus darf nicht NULL sein, werden zu 0 gemacht und constraint drauf

DROP INDEX [IX_tWarenLagerPlatz_kWarenLager] ON [dbo].[tWarenLagerPlatz];

UPDATE dbo.tWarenLagerPlatz
SET nStatus = 0
WHERE nStatus IS NULL;

ALTER TABLE dbo.tWarenLagerPlatz ALTER COLUMN nStatus INT NOT NULL;

ALTER TABLE dbo.tWarenLagerPlatz  ADD CONSTRAINT DF_tWarenLagerPlatz_nStatus DEFAULT 0 FOR nStatus;


CREATE NONCLUSTERED INDEX [IX_tWarenLagerPlatz_kWarenLager] ON [dbo].[tWarenLagerPlatz]
(
    [kWarenLager] ASC
)
INCLUDE (     [nStatus]) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON);
LineNr = 3
Codefragment = UPDATE dbo.tWarenLagerPlatz
Connection-String = DataSource=LAPTOP-CH48PS9A\JTLWAWI, InitialCatalog=eazybusiness, UserID=sa

Unbehandelte Ausnahme #5AC80CA6F45F9EC0 vom Typ System.Data.SqlClient.SqlException in Void OnError(System.Data.SqlClient.SqlException, Boolean, System.Action`1[System.Action]): DF_tprintform_cZahlungsziel ist keine Einschränkung.
Die Einschränkung konnte nicht gelöscht werden. Siehe vorherige Fehler.
SQL-Fehler:
  Source: .Net SqlClient Data Provider
  Number: 3728
  State: 1
  Class: 16 (Anwendungsproblem)
  Server: LAPTOP-CH48PS9A\JTLWAWI
  Message: DF_tprintform_cZahlungsziel ist keine Einschränkung.
  Procedure:
  LineNumber: 8

SQL-Fehler:
  Source: .Net SqlClient Data Provider
  Number: 3727
  State: 0
  Class: 16 (Anwendungsproblem)
  Server: LAPTOP-CH48PS9A\JTLWAWI
  Message: Die Einschränkung konnte nicht gelöscht werden. Siehe vorherige Fehler.
  Procedure:
  LineNumber: 8

HelpLink.ProdName = Microsoft SQL Server
HelpLink.ProdVer = 14.00.2060
HelpLink.EvtSrc = MSSQLServer
HelpLink.EvtID = 3728
HelpLink.BaseHelpUrl = http://go.microsoft.com/fwlink
HelpLink.LinkId = 20476
CommandText = -- Falsch definierte Spalten korrigieren
ALTER TABLE dbo.tConfiguration ALTER COLUMN Arbeitsplatz NVARCHAR(200);
ALTER TABLE dbo.tAttribut ALTER COLUMN cGruppeName NVARCHAR(150);
ALTER TABLE dbo.tSprachen ALTER COLUMN cKultur NCHAR(20);
ALTER TABLE dbo.tSpracheUsed ALTER COLUMN cKultur NCHAR(20);
ALTER TABLE dbo.tFeldTyp ALTER COLUMN cName NVARCHAR(300) NOT NULL;
ALTER TABLE dbo.tintervallpos ALTER COLUMN kArtikel INT;
ALTER TABLE dbo.tprintform DROP CONSTRAINT DF_tprintform_cZahlungsziel;
ALTER TABLE dbo.tprintform ADD CONSTRAINT DF_tprintform_cZahlungsziel DEFAULT ('Das Zahlungsziel beträgt <T> Tage.') FOR cZahlungsziel;

-- Index droppen
IF EXISTS(SELECT * FROM sys.indexes WHERE name = 'IX_tMerkmalGruppeMerkmal_kMerkmalGruppe' AND object_id = OBJECT_ID('[dbo].[tMerkmalGruppeMerkmal]'))
BEGIN
    DROP INDEX IX_tMerkmalGruppeMerkmal_kMerkmalGruppe ON [dbo].[tMerkmalGruppeMerkmal];
END;
LineNr = 8
Codefragment = ALTER TABLE dbo.tprintform DROP CONSTRAINT DF_tprintform_cZahlungsziel;
Connection-String = DataSource=LAPTOP-CH48PS9A\JTLWAWI, InitialCatalog=eazybusiness, UserID=sa

2024-09-21T02:56:25 DEBUG - [SQL] Dauer: 1ms
2024-09-21T02:56:25 DEBUG - [SQL] ---
--- tgr_tXSell_Connector_DELETE
---
IF EXISTS ( SELECT *
            FROM sys.objects
            WHERE object_id = OBJECT_ID(N'[tgr_tXSell_Connector_DELETE]')
            AND type IN ( N'TR', N'TA' ))
DROP TRIGGER [tgr_tXSell_Connector_DELETE]
2024-09-21T02:56:25 DEBUG - [SQL] Dauer: 3ms
2024-09-21T02:56:25 DEBUG - [SQL] CREATE TRIGGER [dbo].[tgr_tXSell_Connector_DELETE]
--
-- Copyright (c) 2012-2017 by JTL Software GmbH
-- Datum: $Date$
-- Version: $Rev$
-- Autor: MP
--
ON [dbo].[tXSell]
AFTER DELETE
AS
SET NOCOUNT ON;
SET ANSI_NULLS ON;
SET ANSI_NULL_DFLT_ON ON;
SET ANSI_PADDING ON;
SET CONCAT_NULL_YIELDS_NULL ON;
SET XACT_ABORT OFF;
BEGIN
    --Überprüfen ob Trigger gefüllt aufgerufen wird
    IF((SELECT COUNT(1) FROM DELETED) = 0)
    BEGIN
        RETURN;
    END;

    DECLARE @Komplett AS INT;
    --DECLARE @Preis AS INT;
    --DECLARE @Bestand AS INT;

    SET @Komplett = 1
    --SET @Preis = 2
    --SET @Bestand = 4

    INSERT INTO dbo.tQueue (kShop, kPlattform, cName, kWert, nAction, kOption1, kOption2, nInBearbeitung)
    SELECT dbo.tArtikelShop.kShop, 0, 'tXSell', DELETED.kArtikel, 2, 0, 0, 0
    FROM DELETED
    JOIN dbo.tArtikelShop ON DELETED.kArtikel = dbo.tArtikelShop.kArtikel
    LEFT JOIN dbo.tXSell ON DELETED.kArtikel = dbo.tXSell.kArtikel
    WHERE dbo.tXSell.kArtikel IS NULL

    UPDATE dbo.tArtikelShop
        SET dbo.tArtikelShop.cInet = 'Y',
            dbo.tArtikelShop.nAktion = @Komplett,
            dbo.tArtikelShop.nInBearbeitung = 0
    FROM DELETED
    JOIN dbo.tArtikelShop ON DELETED.kArtikel = dbo.tArtikelShop.kArtikel
    JOIN dbo.tXSell ON DELETED.kArtikel = dbo.tXSell.kArtikel
    WHERE    dbo.tArtikelShop.cInet = 'N'
            OR dbo.tArtikelShop.nAktion & @Komplett = 0
            OR dbo.tArtikelShop.nInBearbeitung = 1;


END
2024-09-21T02:56:25 DEBUG - [SQL] Dauer: 1ms
2024-09-21T02:56:25 DEBUG - [SQL] ---
--- tgr_tXSell_Connector_INSERT_UPDATE
---
IF EXISTS ( SELECT *
            FROM sys.objects
            WHERE object_id = OBJECT_ID(N'[tgr_tXSell_Connector_INSERT_UPDATE]')
            AND type IN ( N'TR', N'TA' ))
DROP TRIGGER [tgr_tXSell_Connector_INSERT_UPDATE]
2024-09-21T02:56:25 DEBUG - [SQL] Dauer: 3ms
2024-09-21T02:56:25 DEBUG - [SQL] CREATE TRIGGER [dbo].[tgr_tXSell_Connector_INSERT_UPDATE]
--
-- Copyright (c) 2012-2017 by JTL Software GmbH
-- Datum: $Date$
-- Version: $Rev$
-- Autor: MP
--
ON [dbo].[tXSell]
AFTER UPDATE, INSERT
AS
SET NOCOUNT ON;
SET ANSI_NULLS ON;
SET ANSI_NULL_DFLT_ON ON;
SET ANSI_PADDING ON;
SET CONCAT_NULL_YIELDS_NULL ON;
SET XACT_ABORT OFF;
BEGIN
    --Überprüfen ob Trigger gefüllt aufgerufen wird
    IF((SELECT COUNT(1) FROM INSERTED) = 0)
    BEGIN
        RETURN;
    END
    
    DECLARE @Komplett AS INT;
    --DECLARE @Preis AS INT;
    --DECLARE @Bestand AS INT;

    SET @Komplett = 1
    --SET @Preis = 2
    --SET @Bestand = 4

    --
    -- Artikel vollständig zu Webshops senden, wenn Änderungen vorgenommen wurden
    --
    UPDATE dbo.tArtikelShop
        SET dbo.tArtikelShop.nAktion = dbo.tArtikelShop.nAktion | @Komplett,
            dbo.tArtikelShop.cInet = 'Y',
            dbo.tArtikelShop.nInBearbeitung = 0
    FROM dbo.tArtikelShop
    JOIN INSERTED ON dbo.tArtikelShop.kArtikel = INSERTED.kArtikel       
    WHERE    dbo.tArtikelShop.cInet = 'N'
            OR dbo.tArtikelShop.nAktion & @Komplett = 0
            OR dbo.tArtikelShop.nInBearbeitung = 1;

END
2024-09-21T02:56:25 DEBUG - [SQL] Dauer: 1ms
2024-09-21T02:56:25 DEBUG - [SQL] ---
--- tgr_tXSellGruppe_INSUPDEL
---
IF EXISTS ( SELECT *
            FROM sys.objects
            WHERE object_id = OBJECT_ID(N'[tgr_tXSellGruppe_INSUPDEL]')
            AND type IN ( N'TR', N'TA' ))
DROP TRIGGER [tgr_tXSellGruppe_INSUPDEL]
2024-09-21T02:56:25 DEBUG - [SQL] Dauer: 3ms
2024-09-21T02:56:25 DEBUG - [SQL] CREATE TRIGGER [dbo].[tgr_tXSellGruppe_INSUPDEL]
--
-- Copyright (c) 2012-2017 by JTL Software GmbH
-- Datum: $Date$
-- Version: $Rev$
--
ON [dbo].[tXSellGruppe]
AFTER INSERT, UPDATE, DELETE
AS
SET CONCAT_NULL_YIELDS_NULL ON;
SET ANSI_WARNINGS ON;
SET ANSI_PADDING ON;
SET NOCOUNT ON;
BEGIN
    --Überprüfen ob Trigger gefüllt aufgerufen wird
    IF((SELECT COUNT(1) FROM INSERTED FULL JOIN DELETED ON INSERTED.kXSellGruppe = DELETED.kXSellGruppe) = 0)
    BEGIN
        RETURN
    END

    INSERT INTO dbo.tGlobalsQueue(kShop, nType, cName, kKey, dTimeStamp)
    SELECT dbo.tShop.kShop, 1, 'tXSellGruppe', INSERTED.kXSellGruppe, GETDATE()
    FROM INSERTED
    JOIN dbo.tSpracheUsed ON INSERTED.kSprache = dbo.tSpracheUsed.kSprache
        AND dbo.tSpracheUsed.nStandard = 1
    LEFT JOIN DELETED ON INSERTED.kXSellGruppe = DELETED.kXSellGruppe
    CROSS JOIN dbo.tShop
    WHERE DELETED.kXSellGruppe IS NULL;

    INSERT INTO dbo.tGlobalsQueue(kShop, nType, cName, kKey, dTimeStamp)
    SELECT dbo.tShop.kShop, 1, 'tXSellGruppe', INSERTED.kXSellGruppe, GETDATE()
    FROM INSERTED
    JOIN dbo.tSpracheUsed ON INSERTED.kSprache = dbo.tSpracheUsed.kSprache
        AND dbo.tSpracheUsed.nStandard = 1
    JOIN DELETED ON INSERTED.kXSellGruppe = DELETED.kXSellGruppe
    CROSS JOIN dbo.tShop
    WHERE DELETED.cName <> INSERTED.cName
        OR DELETED.cBeschreibung <> INSERTED.cBeschreibung;

    INSERT INTO dbo.tGlobalsQueue(kShop, nType, cName, kKey, dTimeStamp)
    SELECT dbo.tShop.kShop, 2, 'tXSellGruppe', DELETED.kXSellGruppe, GETDATE()
    FROM DELETED
    JOIN dbo.tSpracheUsed ON DELETED.kSprache = dbo.tSpracheUsed.kSprache
        AND dbo.tSpracheUsed.nStandard = 1
    LEFT JOIN INSERTED ON DELETED.kXSellGruppe = INSERTED.kXSellGruppe
    CROSS JOIN dbo.tShop
    WHERE INSERTED.kXSellGruppe IS NULL;
END
2024-09-21T02:56:25 DEBUG - [SQL] Dauer: 1ms
2024-09-21T02:56:25 DEBUG - [SQL] ---
--- tgr_tZahlung_INSUPDEL
---
IF EXISTS ( SELECT *
            FROM sys.objects
            WHERE object_id = OBJECT_ID(N'[tgr_tZahlung_INSUPDEL]')
            AND type IN ( N'TR', N'TA' ))
DROP TRIGGER [tgr_tZahlung_INSUPDEL]
2024-09-21T02:56:25 DEBUG - [SQL] Dauer: 3ms
2024-09-21T02:56:25 DEBUG - [SQL] CREATE TRIGGER [dbo].[tgr_tZahlung_INSUPDEL]
--
-- Copyright (c) 2012-2017 by JTL Software GmbH
-- Datum: $Date$
-- Version: $Rev$
--
ON [dbo].[tZahlung]
AFTER INSERT, UPDATE, DELETE
AS
SET CONCAT_NULL_YIELDS_NULL ON;
SET ANSI_WARNINGS ON;
SET ANSI_PADDING ON;
SET NOCOUNT ON;
BEGIN
    --Überprüfen ob Trigger gefüllt aufgerufen wird
    IF((SELECT COUNT(1) FROM INSERTED FULL JOIN DELETED ON INSERTED.kZahlung = DELETED.kZahlung) = 0)
    BEGIN
        RETURN
    END

    INSERT INTO dbo.tLog (dDatum, kBenutzer, cLog, nTyp, nVorgang)
    SELECT GETDATE(), INSERTED.kBenutzer, 'Zahlung gesetzt: Bestellung ' + CONVERT(VARCHAR(4000), dbo.tBestellung.cBestellNr) + ' ('+ CONVERT(VARCHAR(4000), INSERTED.kBestellung) + ') Betrag: ' + CONVERT(VARCHAR(4000), CAST(INSERTED.fBetrag AS DECIMAL(28, 2))), 8, 1
    FROM INSERTED
    LEFT JOIN DELETED ON INSERTED.kZahlung = DELETED.kZahlung
    JOIN dbo.tBestellung ON INSERTED.kBestellung = dbo.tBestellung.kBestellung
    WHERE DELETED.kZahlung IS NULL;

    INSERT INTO dbo.tLog (dDatum, kBenutzer, cLog, nTyp, nVorgang)
    SELECT GETDATE(), INSERTED.kBenutzer, 'Zahlung geändert: Bestellung ' + CONVERT(VARCHAR(4000), dbo.tBestellung.cBestellNr) + ' ('+ CONVERT(VARCHAR(4000), INSERTED.kBestellung) + ') Betrag: ' + CONVERT(VARCHAR(4000), CAST(INSERTED.fBetrag AS DECIMAL(28, 2))), 8, 2
    FROM INSERTED
    JOIN DELETED ON INSERTED.kZahlung = DELETED.kZahlung
    JOIN dbo.tBestellung ON INSERTED.kBestellung = dbo.tBestellung.kBestellung
    WHERE DELETED.fBetrag <> INSERTED.fBetrag;

    INSERT INTO dbo.tLog (dDatum, kBenutzer, cLog, nTyp, nVorgang)
    SELECT GETDATE(), DELETED.kBenutzer, 'Zahlung gelöscht: Bestellung ' + CONVERT(VARCHAR(4000), dbo.tBestellung.cBestellNr) + ' ('+ CONVERT(VARCHAR(4000), DELETED.kBestellung) + ') Betrag: ' + CONVERT(VARCHAR(4000), CAST(DELETED.fBetrag AS DECIMAL(28, 2))), 8, 3
    FROM DELETED
    LEFT JOIN INSERTED ON DELETED.kZahlung = INSERTED.kZahlung
    JOIN dbo.tBestellung ON DELETED.kBestellung = dbo.tBestellung.kBestellung
    WHERE INSERTED.kZahlung IS NULL;

    DECLARE @kZahlungenOhneZahlungsart AS TABLE (kZahlung INT)
    
    DECLARE @xBestellung AS XML
        SET @xBestellung = (
        SELECT DISTINCT U1.kBestellung FROM
        (
            SELECT DELETED.kBestellung FROM DELETED
            UNION
            SELECT INSERTED.kBestellung FROM INSERTED
        ) AS U1
        JOIN dbo.tbestellpos ON dbo.tbestellpos.tBestellung_kBestellung = U1.kBestellung
    FOR XML PATH('Bestellung'), TYPE
    )   
    IF(@xBestellung IS NOT NULL)
    BEGIN
        EXEC spBestellungEckdatenAktualisieren @xBestellungen = @xBestellung, @nKomplettAusgeliefertNichtBerechnen = 1;               
    END
    
    --
    -- Hier wird sichergestellt, dass kZahlungsart nicht 0 ist
    -- Dies ist für Ameisenexporte von Rechnungen erforderlich
    -- Der Wert 0 als Zahlungsart kann durch Importe aus externen Systemen entstehen
    --
    INSERT INTO @kZahlungenOhneZahlungsart (kZahlung)
    SELECT U1.kZahlung FROM
    (
        SELECT DELETED.kZahlung, DELETED.kZahlungsart FROM DELETED WHERE ISNULL(DELETED.kZahlungsart, 0) = 0   
        UNION
        SELECT INSERTED.kZahlung, INSERTED.kZahlungsart FROM INSERTED WHERE ISNULL(INSERTED.kZahlungsart, 0) = 0
    ) AS U1

    if(ISNULL((SELECT COUNT(kZahlung) FROM @kZahlungenOhneZahlungsart), 0) > 0)
    BEGIN
        DECLARE @kStandardZahlungsart INT
        SET @kStandardZahlungsart = ISNULL((SELECT TOP 1 tZahlungsart.kZahlungsart FROM tZahlungsart), 0)

        --
        -- Wenn keine Zahlungsart ermittelt werden kann wird eine Dummy-Zahlungsart angelegt
        --
        if(@kStandardZahlungsart = 0)
        BEGIN
            DECLARE @kZahlungsartPK AS TABLE (kZahlungsart INT)
            INSERT INTO @kZahlungsartPK(kZahlungsart) EXEC spGetAndUpdatePK 'tZahlungsart'
            SET @kStandardZahlungsart = ISNULL((SELECT TOP 1 kZahlungsart FROM @kZahlungsartPK), 0)   
                    
            INSERT INTO tZahlungsart(kZahlungsart, cName, cPrtString, nLastschrift, cPrtStringVor, cPaymentOption, cKonto, nAusliefernVorZahlung)
            VALUES(@kStandardZahlungsart, 'Automatisch angelegt', '', 0, '', '', '', 0)
        END

        --
        -- Zahlungsart setzen wo diese = 0 ist
        --
        UPDATE tZahlung WITH(ROWLOCK) SET tZahlung.kZahlungsart = ISNULL(tZahlungsart.kZahlungsart, @kStandardZahlungsart)
        FROM tZahlung WITH(ROWLOCK)
        LEFT JOIN tZahlungsart WITH(NOLOCK) ON LOWER(tZahlung.cName) = LOWER(tZahlungsart.cName)
        WHERE tZahlung.kZahlung IN
        (
            SELECT kZahlung FROM @kZahlungenOhneZahlungsart
        )
    END
END
2024-09-21T02:56:25 DEBUG - [SQL] Dauer: 4ms
2024-09-21T02:56:25 DEBUG - [SQL] ---
--- trg_tinetbestellpos_DELETE
---
IF EXISTS ( SELECT *
            FROM sys.objects
            WHERE object_id = OBJECT_ID(N'[trg_tinetbestellpos_DELETE]')
            AND type IN ( N'TR', N'TA' ))
DROP TRIGGER [trg_tinetbestellpos_DELETE]
2024-09-21T02:56:25 DEBUG - [SQL] Dauer: 3ms
2024-09-21T02:56:25 DEBUG - [SQL] CREATE TRIGGER [dbo].[trg_tinetbestellpos_DELETE]
--     
-- Copyright (c) 2012-2017 by JTL Software GmbH
-- Datum: $Date$
-- Version: $Rev$
--   
ON [dbo].[tinetbestellpos] 
AFTER DELETE
AS 
SET NOCOUNT ON;
SET ANSI_NULLS ON;
SET ANSI_NULL_DFLT_ON ON;
SET ANSI_PADDING ON;
SET CONCAT_NULL_YIELDS_NULL ON;
SET XACT_ABORT OFF;
BEGIN
    
    UPDATE dbo.tArtikelShop
        SET dbo.tArtikelShop.cInet = 'Y',
            dbo.tArtikelShop.nAktion = 1,
            dbo.tArtikelShop.nInBearbeitung = 0
    FROM DELETED
    JOIN dbo.tArtikelShop ON DELETED.kArikel = dbo.tArtikelShop.kArtikel
                        AND DELETED.kShop = dbo.tArtikelShop.kShop
    WHERE dbo.tArtikelShop.cInet <> 'Y'
        AND dbo.tArtikelShop.nAktion = 0;

END;
2024-09-21T02:56:25 DEBUG - [SQL] Dauer: 0ms
2024-09-21T02:56:25 DEBUG - [SQL] ---
--- DatabaseModification
---
TRUNCATE TABLE tLastModified;

INSERT INTO tLastModified (cTablename, dLastModified) VALUES (N'ebay_xx_sites', '2000-01-01T00:00:00');
INSERT INTO tLastModified (cTablename, dLastModified) VALUES (N'ebay_xx_versandarten', '2000-01-01T00:00:00');
INSERT INTO tLastModified (cTablename, dLastModified) VALUES (N'ebay_xx_zahlungsmethoden', '2000-01-01T00:00:00');
INSERT INTO tLastModified (cTablename, dLastModified) VALUES (N'pf_amazon_Mapping_Variationsnamen', '2000-01-01T00:00:00');
INSERT INTO tLastModified (cTablename, dLastModified) VALUES (N'tbenutzer', '2000-01-01T00:00:00');
INSERT INTO tLastModified (cTablename, dLastModified) VALUES (N'tBenutzerFirma', '2000-01-01T00:00:00');
INSERT INTO tLastModified (cTablename, dLastModified) VALUES (N'tbenutzerrechte', '2000-01-01T00:00:00');
INSERT INTO tLastModified (cTablename, dLastModified) VALUES (N'teinstellungen', '2000-01-01T00:00:00');
INSERT INTO tLastModified (cTablename, dLastModified) VALUES (N'tfirma', '2000-01-01T00:00:00');
INSERT INTO tLastModified (cTablename, dLastModified) VALUES (N'tkonfiggruppesprache', '2000-01-01T00:00:00');
INSERT INTO tLastModified (cTablename, dLastModified) VALUES (N'tKundenGruppe', '2000-01-01T00:00:00');
INSERT INTO tLastModified (cTablename, dLastModified) VALUES (N'tland', '2000-01-01T00:00:00');
INSERT INTO tLastModified (cTablename, dLastModified) VALUES (N'tLogistik', '2000-01-01T00:00:00');
INSERT INTO tLastModified (cTablename, dLastModified) VALUES (N'tOptions', '2000-01-01T00:00:00');
INSERT INTO tLastModified (cTablename, dLastModified) VALUES (N'tprintform', '2000-01-01T00:00:00');
INSERT INTO tLastModified (cTablename, dLastModified) VALUES (N'tRMStatus', '2000-01-01T00:00:00');
INSERT INTO tLastModified (cTablename, dLastModified) VALUES (N'tRMStatusBerechtigung', '2000-01-01T00:00:00');
INSERT INTO tLastModified (cTablename, dLastModified) VALUES (N'tRMStatusSprache', '2000-01-01T00:00:00');
INSERT INTO tLastModified (cTablename, dLastModified) VALUES (N'tSpracheUsed', '2000-01-01T00:00:00');
INSERT INTO tLastModified (cTablename, dLastModified) VALUES (N'tversion', '2000-01-01T00:00:00');
INSERT INTO tLastModified (cTablename, dLastModified) VALUES (N'tWaehrungISO', '2000-01-01T00:00:00');


---
--- tVersion setzen
---
UPDATE [dbo].[tVersion] SET [cVersion] = '1.1.4.14';
2024-09-21T02:56:25 DEBUG - [SQL] Dauer: 3ms
2024-09-21T02:56:25 DEBUG - [SQL] DELETE FROM dbo.ameise_importtypfeld WHERE kImportTypFeld = 919;
 
MERGE INTO dbo.tOptions USING (VALUES ('Database.SvnRevision', '55256')) AS Source(cKey, cValue) ON tOptions.cKey = Source.cKey WHEN MATCHED THEN UPDATE SET tOptions.cValue = Source.cValue WHEN NOT MATCHED BY TARGET THEN INSERT (cKey, cValue) VALUES (Source.cKey, Source.cValue);
2024-09-21T02:56:25 DEBUG - [SQL] Dauer: 1ms
Zeitstempel: 2024-09-21T02:58:09
Locale: German (Germany)
Locale: German (Germany)
Version: 1.1.4.14
Plattform: Wawi
Versionshash: 38354FDF
Prozessname: System.Diagnostics.Process (JTL-Wawi)
Physikalischer Speicher: 258314240 / Peak: 829104128
Basispriorität: 8
Prioritätsklasse: Normal
CPU-Zeit (User): 0:00:08,46875
CPU-Zeit (System): 0:00:03,328125
Page-Size (Sytem): 1806176 / Peak: 769429504
Page-Size: 186138624 / Peak: 769429504
Offene Handles: 1379

Ich habe versucht hier mit SQL Studio (2017) zu arbeiten und ggf "fake" Constraints zu setzen, aber nichts hilft :/ Gibt es hier jemanden der mir weiterhelfen kann?
 

MichaelH

Sehr aktives Mitglied
17. November 2008
14.228
1.802
Also ich vermute mal, dass in der neuesten WAWI-Version (oder mind. 1.8.x) die meisten Datenprobleme behoben sind, während in der EXE der 1.1.4.14 auftretende Fehlermöglichkeiten nicht korrigiert wurden ?
Daher nimm doch die neueste WAWI-Version ?
Zudem dürfte die Migration mit dieser Version am Schnellsten sein, da auch Update-Performance Probleme die bekannt wurden verbessert wurden.

Was spricht dagegen ?

Neueste WAWI installieren, Daten Import, WAWI starten und schauen ob es klappt ? Geht recht schnell ...

Heißt: Verwende gleich deine Zielversion und keine alte, denn Step by Step hat keinen Vorteil. Denn die Zielversion macht ja automatisch einen Step by Step Update.
 
  • Gefällt mir
Reaktionen: christian1701

css-umsetzung

Offizieller Servicepartner
SPBanner
6. Juli 2011
7.393
2.028
Berlin
Ja das würde ich auch zuerst versuchen, wenn die Datenbank sauber ist sollte das ohne Probleme durchlaufen, aber vorher muss wieder auf den originalen Zustand zurück, mit der vorher installierten wawi.
 
  • Gefällt mir
Reaktionen: christian1701

MichaelH

Sehr aktives Mitglied
17. November 2008
14.228
1.802
Ja das würde ich auch zuerst versuchen, wenn die Datenbank sauber ist sollte das ohne Probleme durchlaufen, aber vorher muss wieder auf den originalen Zustand zurück, mit der vorher installierten wawi.

Nein ?
Ein Restore auf die DB mit der WAWI kann mit jeder WAWI-Version gemacht werden, egal welche Version aktuell installiert ist, da es ja eine Funktion der Datenbank und nicht der WAWI ist.
Oder hat sich dies geändert ?

(Nur die Version der Datenbank sollte gleich sein oder das Backup eine ältere Version, da er ja kein Update der SQL-Version gemacht hat, dürfte er das Problem nicht haben.)
 

MikeHeess

Neues Mitglied
12. Dezember 2024
3
0
😂 ... also ich hatte noch nie ein Problem damit, weder Live noch in Test-Systemen. Sollte klappen.

Im Test System: Neuste WAWI installieren, aktuelle Daten restoren und migrieren lassen.
Hallo zusammen,
bei mir kam eine Fehlermeldung bei diesem Versuch dass Wawi meinte Version 1.9.x.x sei älter als Version 1.0.0.0 und bricht ab.
Kann es sein dass bei dem Restore in die SQL-Tabelle Version 1.0.0.0 geschrieben wird ? und somit 1.9.x.x überschrieben ist ?
Grüße Mike
 

Manuel Pietzsch

JTL-Wawi
Mitarbeiter
2. Januar 2012
2.869
1.039
Hückelhoven
Hallo zusammen,
ich habe grosses vor mir und versuche gerade "Step by Step" ein Update einer sehr veralteten Wawi Version durchzufuehren.
Derzeit versuche ich ein Update von 1.0.11 auf 1.1.4.14 (weil ich nichts aelteres finden konnte)
Die ersten 2 Fehlermeldungen die ich hatte mit der Collation konnte ich loesen. Doch nun wenn ich versuche die DB zu importieren (Reperatur wurde bereits ausgefuehrt) erhalte ich folgenden Log:

Code:
Unbehandelte Ausnahme #5AC80CA6F45F9EC0 vom Typ System.Data.SqlClient.SqlException in Void OnError(System.Data.SqlClient.SqlException, Boolean, System.Action`1[System.Action])
System.Data.SqlClient.SqlException (0x80131904): DF_tMahnstufe_nBevorzugeKundenZahlungsziel ist keine Einschränkung.
Die Einschränkung konnte nicht gelöscht werden. Siehe vorherige Fehler.
   bei System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
   bei System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
   bei System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
   bei System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
   bei System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async, Int32 timeout, Boolean asyncWrite)
   bei System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
   bei System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
   bei jtlDatabase.DB.ExecuteAndCatchDeadlock[T](SqlConnection oSqlConnection, Func`1 func)
   bei jtlDatabase.DB.executeLongRunningCommandSQL(String cSqlCommand, jtlDBParameter[] oDBParameter_arr)
   bei jtlCore.Classes.Update.SqlUpdater.<>c__DisplayClass2.<UpdateToVersion>b__0()
   bei jtlCore.Classes.Update.SqlUpdater.UpdateLogger.Log(Action action, Int32 index, String command)
   bei jtlCore.Classes.Update.SqlUpdater.UpdateToVersion(IList`1 sqlCommands, Version cVersion, TaskProgress oProgress)
ClientConnectionId:425088da-34ff-4922-9517-e690885132ad
Fehlernummer (Error Number):3728,Status (State):1,Klasse (Class):16
SQL-Fehlerinformationen: [LAPTOP-CH48PS9A\JTLWAWI .Net SqlClient Data Provider] Fehler #3728 (Klasse 16) in Zeile 1: DF_tMahnstufe_nBevorzugeKundenZahlungsziel ist keine Einschränkung.
SQL-Fehlerinformationen: [LAPTOP-CH48PS9A\JTLWAWI .Net SqlClient Data Provider] Fehler #3727 (Klasse 16) in Zeile 1: Die Einschränkung konnte nicht gelöscht werden. Siehe vorherige Fehler.
HelpLink.ProdName = Microsoft SQL Server
HelpLink.ProdVer = 14.00.2060
HelpLink.EvtSrc = MSSQLServer
HelpLink.EvtID = 3728
HelpLink.BaseHelpUrl = http://go.microsoft.com/fwlink
HelpLink.LinkId = 20476
CommandText = ALTER TABLE [dbo].[tMahnstufe] DROP CONSTRAINT [DF_tMahnstufe_nBevorzugeKundenZahlungsziel]
ALTER TABLE dbo.tMahnstufe DROP COLUMN nBevorzugeKundenZahlungsziel
LineNr = 1
Codefragment = ALTER TABLE [dbo].[tMahnstufe] DROP CONSTRAINT [DF_tMahnstufe_nBevorzugeKundenZahlungsziel]
Connection-String = DataSource=LAPTOP-CH48PS9A\JTLWAWI, InitialCatalog=eazybusiness, UserID=sa

Unbehandelte Ausnahme #5AC80CA6F45F9EC0 vom Typ System.Data.SqlClient.SqlException in Void OnError(System.Data.SqlClient.SqlException, Boolean, System.Action`1[System.Action]): DF_tkunde_nMahnrhytmus ist keine Einschränkung.
Die Einschränkung konnte nicht gelöscht werden. Siehe vorherige Fehler.
SQL-Fehler:
  Source: .Net SqlClient Data Provider
  Number: 3728
  State: 1
  Class: 16 (Anwendungsproblem)
  Server: LAPTOP-CH48PS9A\JTLWAWI
  Message: DF_tkunde_nMahnrhytmus ist keine Einschränkung.
  Procedure:
  LineNumber: 1

SQL-Fehler:
  Source: .Net SqlClient Data Provider
  Number: 3727
  State: 0
  Class: 16 (Anwendungsproblem)
  Server: LAPTOP-CH48PS9A\JTLWAWI
  Message: Die Einschränkung konnte nicht gelöscht werden. Siehe vorherige Fehler.
  Procedure:
  LineNumber: 1

HelpLink.ProdName = Microsoft SQL Server
HelpLink.ProdVer = 14.00.2060
HelpLink.EvtSrc = MSSQLServer
HelpLink.EvtID = 3728
HelpLink.BaseHelpUrl = http://go.microsoft.com/fwlink
HelpLink.LinkId = 20476
CommandText = ALTER TABLE [dbo].[tkunde] DROP CONSTRAINT [DF_tkunde_nMahnrhytmus]
LineNr = 1
Codefragment = ALTER TABLE [dbo].[tkunde] DROP CONSTRAINT [DF_tkunde_nMahnrhytmus]
Connection-String = DataSource=LAPTOP-CH48PS9A\JTLWAWI, InitialCatalog=eazybusiness, UserID=sa

Unbehandelte Ausnahme #5AC80CA6F45F9EC0 vom Typ System.Data.SqlClient.SqlException in Void OnError(System.Data.SqlClient.SqlException, Boolean, System.Action`1[System.Action]): Löschen des Index-Objekts "dbo.tWarenLagerPlatz.IX_tWarenLagerPlatz_kWarenLager" ist nicht möglich, weil das Objekt nicht vorhanden ist oder Sie nicht die erforderliche Berechtigung haben.
SQL-Fehler:
  Source: .Net SqlClient Data Provider
  Number: 3701
  State: 7
  Class: 11 (Anwendungsproblem)
  Server: LAPTOP-CH48PS9A\JTLWAWI
  Message: Löschen des Index-Objekts "dbo.tWarenLagerPlatz.IX_tWarenLagerPlatz_kWarenLager" ist nicht möglich, weil das Objekt nicht vorhanden ist oder Sie nicht die erforderliche Berechtigung haben.
  Procedure:
  LineNumber: 3

HelpLink.ProdName = Microsoft SQL Server
HelpLink.ProdVer = 14.00.2060
HelpLink.EvtSrc = MSSQLServer
HelpLink.EvtID = 3701
HelpLink.BaseHelpUrl = http://go.microsoft.com/fwlink
HelpLink.LinkId = 20476
CommandText = -- dbo.tWarenLagerPlatz.nStatus darf nicht NULL sein, werden zu 0 gemacht und constraint drauf

DROP INDEX [IX_tWarenLagerPlatz_kWarenLager] ON [dbo].[tWarenLagerPlatz];

UPDATE dbo.tWarenLagerPlatz
SET nStatus = 0
WHERE nStatus IS NULL;

ALTER TABLE dbo.tWarenLagerPlatz ALTER COLUMN nStatus INT NOT NULL;

ALTER TABLE dbo.tWarenLagerPlatz  ADD CONSTRAINT DF_tWarenLagerPlatz_nStatus DEFAULT 0 FOR nStatus;


CREATE NONCLUSTERED INDEX [IX_tWarenLagerPlatz_kWarenLager] ON [dbo].[tWarenLagerPlatz]
(
    [kWarenLager] ASC
)
INCLUDE (     [nStatus]) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON);
LineNr = 3
Codefragment = UPDATE dbo.tWarenLagerPlatz
Connection-String = DataSource=LAPTOP-CH48PS9A\JTLWAWI, InitialCatalog=eazybusiness, UserID=sa

Unbehandelte Ausnahme #5AC80CA6F45F9EC0 vom Typ System.Data.SqlClient.SqlException in Void OnError(System.Data.SqlClient.SqlException, Boolean, System.Action`1[System.Action]): DF_tprintform_cZahlungsziel ist keine Einschränkung.
Die Einschränkung konnte nicht gelöscht werden. Siehe vorherige Fehler.
SQL-Fehler:
  Source: .Net SqlClient Data Provider
  Number: 3728
  State: 1
  Class: 16 (Anwendungsproblem)
  Server: LAPTOP-CH48PS9A\JTLWAWI
  Message: DF_tprintform_cZahlungsziel ist keine Einschränkung.
  Procedure:
  LineNumber: 8

SQL-Fehler:
  Source: .Net SqlClient Data Provider
  Number: 3727
  State: 0
  Class: 16 (Anwendungsproblem)
  Server: LAPTOP-CH48PS9A\JTLWAWI
  Message: Die Einschränkung konnte nicht gelöscht werden. Siehe vorherige Fehler.
  Procedure:
  LineNumber: 8

HelpLink.ProdName = Microsoft SQL Server
HelpLink.ProdVer = 14.00.2060
HelpLink.EvtSrc = MSSQLServer
HelpLink.EvtID = 3728
HelpLink.BaseHelpUrl = http://go.microsoft.com/fwlink
HelpLink.LinkId = 20476
CommandText = -- Falsch definierte Spalten korrigieren
ALTER TABLE dbo.tConfiguration ALTER COLUMN Arbeitsplatz NVARCHAR(200);
ALTER TABLE dbo.tAttribut ALTER COLUMN cGruppeName NVARCHAR(150);
ALTER TABLE dbo.tSprachen ALTER COLUMN cKultur NCHAR(20);
ALTER TABLE dbo.tSpracheUsed ALTER COLUMN cKultur NCHAR(20);
ALTER TABLE dbo.tFeldTyp ALTER COLUMN cName NVARCHAR(300) NOT NULL;
ALTER TABLE dbo.tintervallpos ALTER COLUMN kArtikel INT;
ALTER TABLE dbo.tprintform DROP CONSTRAINT DF_tprintform_cZahlungsziel;
ALTER TABLE dbo.tprintform ADD CONSTRAINT DF_tprintform_cZahlungsziel DEFAULT ('Das Zahlungsziel beträgt <T> Tage.') FOR cZahlungsziel;

-- Index droppen
IF EXISTS(SELECT * FROM sys.indexes WHERE name = 'IX_tMerkmalGruppeMerkmal_kMerkmalGruppe' AND object_id = OBJECT_ID('[dbo].[tMerkmalGruppeMerkmal]'))
BEGIN
    DROP INDEX IX_tMerkmalGruppeMerkmal_kMerkmalGruppe ON [dbo].[tMerkmalGruppeMerkmal];
END;
LineNr = 8
Codefragment = ALTER TABLE dbo.tprintform DROP CONSTRAINT DF_tprintform_cZahlungsziel;
Connection-String = DataSource=LAPTOP-CH48PS9A\JTLWAWI, InitialCatalog=eazybusiness, UserID=sa

2024-09-21T02:56:25 DEBUG - [SQL] Dauer: 1ms
2024-09-21T02:56:25 DEBUG - [SQL] ---
--- tgr_tXSell_Connector_DELETE
---
IF EXISTS ( SELECT *
            FROM sys.objects
            WHERE object_id = OBJECT_ID(N'[tgr_tXSell_Connector_DELETE]')
            AND type IN ( N'TR', N'TA' ))
DROP TRIGGER [tgr_tXSell_Connector_DELETE]
2024-09-21T02:56:25 DEBUG - [SQL] Dauer: 3ms
2024-09-21T02:56:25 DEBUG - [SQL] CREATE TRIGGER [dbo].[tgr_tXSell_Connector_DELETE]
--
-- Copyright (c) 2012-2017 by JTL Software GmbH
-- Datum: $Date$
-- Version: $Rev$
-- Autor: MP
--
ON [dbo].[tXSell]
AFTER DELETE
AS
SET NOCOUNT ON;
SET ANSI_NULLS ON;
SET ANSI_NULL_DFLT_ON ON;
SET ANSI_PADDING ON;
SET CONCAT_NULL_YIELDS_NULL ON;
SET XACT_ABORT OFF;
BEGIN
    --Überprüfen ob Trigger gefüllt aufgerufen wird
    IF((SELECT COUNT(1) FROM DELETED) = 0)
    BEGIN
        RETURN;
    END;

    DECLARE @Komplett AS INT;
    --DECLARE @Preis AS INT;
    --DECLARE @Bestand AS INT;

    SET @Komplett = 1
    --SET @Preis = 2
    --SET @Bestand = 4

    INSERT INTO dbo.tQueue (kShop, kPlattform, cName, kWert, nAction, kOption1, kOption2, nInBearbeitung)
    SELECT dbo.tArtikelShop.kShop, 0, 'tXSell', DELETED.kArtikel, 2, 0, 0, 0
    FROM DELETED
    JOIN dbo.tArtikelShop ON DELETED.kArtikel = dbo.tArtikelShop.kArtikel
    LEFT JOIN dbo.tXSell ON DELETED.kArtikel = dbo.tXSell.kArtikel
    WHERE dbo.tXSell.kArtikel IS NULL

    UPDATE dbo.tArtikelShop
        SET dbo.tArtikelShop.cInet = 'Y',
            dbo.tArtikelShop.nAktion = @Komplett,
            dbo.tArtikelShop.nInBearbeitung = 0
    FROM DELETED
    JOIN dbo.tArtikelShop ON DELETED.kArtikel = dbo.tArtikelShop.kArtikel
    JOIN dbo.tXSell ON DELETED.kArtikel = dbo.tXSell.kArtikel
    WHERE    dbo.tArtikelShop.cInet = 'N'
            OR dbo.tArtikelShop.nAktion & @Komplett = 0
            OR dbo.tArtikelShop.nInBearbeitung = 1;


END
2024-09-21T02:56:25 DEBUG - [SQL] Dauer: 1ms
2024-09-21T02:56:25 DEBUG - [SQL] ---
--- tgr_tXSell_Connector_INSERT_UPDATE
---
IF EXISTS ( SELECT *
            FROM sys.objects
            WHERE object_id = OBJECT_ID(N'[tgr_tXSell_Connector_INSERT_UPDATE]')
            AND type IN ( N'TR', N'TA' ))
DROP TRIGGER [tgr_tXSell_Connector_INSERT_UPDATE]
2024-09-21T02:56:25 DEBUG - [SQL] Dauer: 3ms
2024-09-21T02:56:25 DEBUG - [SQL] CREATE TRIGGER [dbo].[tgr_tXSell_Connector_INSERT_UPDATE]
--
-- Copyright (c) 2012-2017 by JTL Software GmbH
-- Datum: $Date$
-- Version: $Rev$
-- Autor: MP
--
ON [dbo].[tXSell]
AFTER UPDATE, INSERT
AS
SET NOCOUNT ON;
SET ANSI_NULLS ON;
SET ANSI_NULL_DFLT_ON ON;
SET ANSI_PADDING ON;
SET CONCAT_NULL_YIELDS_NULL ON;
SET XACT_ABORT OFF;
BEGIN
    --Überprüfen ob Trigger gefüllt aufgerufen wird
    IF((SELECT COUNT(1) FROM INSERTED) = 0)
    BEGIN
        RETURN;
    END
   
    DECLARE @Komplett AS INT;
    --DECLARE @Preis AS INT;
    --DECLARE @Bestand AS INT;

    SET @Komplett = 1
    --SET @Preis = 2
    --SET @Bestand = 4

    --
    -- Artikel vollständig zu Webshops senden, wenn Änderungen vorgenommen wurden
    --
    UPDATE dbo.tArtikelShop
        SET dbo.tArtikelShop.nAktion = dbo.tArtikelShop.nAktion | @Komplett,
            dbo.tArtikelShop.cInet = 'Y',
            dbo.tArtikelShop.nInBearbeitung = 0
    FROM dbo.tArtikelShop
    JOIN INSERTED ON dbo.tArtikelShop.kArtikel = INSERTED.kArtikel      
    WHERE    dbo.tArtikelShop.cInet = 'N'
            OR dbo.tArtikelShop.nAktion & @Komplett = 0
            OR dbo.tArtikelShop.nInBearbeitung = 1;

END
2024-09-21T02:56:25 DEBUG - [SQL] Dauer: 1ms
2024-09-21T02:56:25 DEBUG - [SQL] ---
--- tgr_tXSellGruppe_INSUPDEL
---
IF EXISTS ( SELECT *
            FROM sys.objects
            WHERE object_id = OBJECT_ID(N'[tgr_tXSellGruppe_INSUPDEL]')
            AND type IN ( N'TR', N'TA' ))
DROP TRIGGER [tgr_tXSellGruppe_INSUPDEL]
2024-09-21T02:56:25 DEBUG - [SQL] Dauer: 3ms
2024-09-21T02:56:25 DEBUG - [SQL] CREATE TRIGGER [dbo].[tgr_tXSellGruppe_INSUPDEL]
--
-- Copyright (c) 2012-2017 by JTL Software GmbH
-- Datum: $Date$
-- Version: $Rev$
--
ON [dbo].[tXSellGruppe]
AFTER INSERT, UPDATE, DELETE
AS
SET CONCAT_NULL_YIELDS_NULL ON;
SET ANSI_WARNINGS ON;
SET ANSI_PADDING ON;
SET NOCOUNT ON;
BEGIN
    --Überprüfen ob Trigger gefüllt aufgerufen wird
    IF((SELECT COUNT(1) FROM INSERTED FULL JOIN DELETED ON INSERTED.kXSellGruppe = DELETED.kXSellGruppe) = 0)
    BEGIN
        RETURN
    END

    INSERT INTO dbo.tGlobalsQueue(kShop, nType, cName, kKey, dTimeStamp)
    SELECT dbo.tShop.kShop, 1, 'tXSellGruppe', INSERTED.kXSellGruppe, GETDATE()
    FROM INSERTED
    JOIN dbo.tSpracheUsed ON INSERTED.kSprache = dbo.tSpracheUsed.kSprache
        AND dbo.tSpracheUsed.nStandard = 1
    LEFT JOIN DELETED ON INSERTED.kXSellGruppe = DELETED.kXSellGruppe
    CROSS JOIN dbo.tShop
    WHERE DELETED.kXSellGruppe IS NULL;

    INSERT INTO dbo.tGlobalsQueue(kShop, nType, cName, kKey, dTimeStamp)
    SELECT dbo.tShop.kShop, 1, 'tXSellGruppe', INSERTED.kXSellGruppe, GETDATE()
    FROM INSERTED
    JOIN dbo.tSpracheUsed ON INSERTED.kSprache = dbo.tSpracheUsed.kSprache
        AND dbo.tSpracheUsed.nStandard = 1
    JOIN DELETED ON INSERTED.kXSellGruppe = DELETED.kXSellGruppe
    CROSS JOIN dbo.tShop
    WHERE DELETED.cName <> INSERTED.cName
        OR DELETED.cBeschreibung <> INSERTED.cBeschreibung;

    INSERT INTO dbo.tGlobalsQueue(kShop, nType, cName, kKey, dTimeStamp)
    SELECT dbo.tShop.kShop, 2, 'tXSellGruppe', DELETED.kXSellGruppe, GETDATE()
    FROM DELETED
    JOIN dbo.tSpracheUsed ON DELETED.kSprache = dbo.tSpracheUsed.kSprache
        AND dbo.tSpracheUsed.nStandard = 1
    LEFT JOIN INSERTED ON DELETED.kXSellGruppe = INSERTED.kXSellGruppe
    CROSS JOIN dbo.tShop
    WHERE INSERTED.kXSellGruppe IS NULL;
END
2024-09-21T02:56:25 DEBUG - [SQL] Dauer: 1ms
2024-09-21T02:56:25 DEBUG - [SQL] ---
--- tgr_tZahlung_INSUPDEL
---
IF EXISTS ( SELECT *
            FROM sys.objects
            WHERE object_id = OBJECT_ID(N'[tgr_tZahlung_INSUPDEL]')
            AND type IN ( N'TR', N'TA' ))
DROP TRIGGER [tgr_tZahlung_INSUPDEL]
2024-09-21T02:56:25 DEBUG - [SQL] Dauer: 3ms
2024-09-21T02:56:25 DEBUG - [SQL] CREATE TRIGGER [dbo].[tgr_tZahlung_INSUPDEL]
--
-- Copyright (c) 2012-2017 by JTL Software GmbH
-- Datum: $Date$
-- Version: $Rev$
--
ON [dbo].[tZahlung]
AFTER INSERT, UPDATE, DELETE
AS
SET CONCAT_NULL_YIELDS_NULL ON;
SET ANSI_WARNINGS ON;
SET ANSI_PADDING ON;
SET NOCOUNT ON;
BEGIN
    --Überprüfen ob Trigger gefüllt aufgerufen wird
    IF((SELECT COUNT(1) FROM INSERTED FULL JOIN DELETED ON INSERTED.kZahlung = DELETED.kZahlung) = 0)
    BEGIN
        RETURN
    END

    INSERT INTO dbo.tLog (dDatum, kBenutzer, cLog, nTyp, nVorgang)
    SELECT GETDATE(), INSERTED.kBenutzer, 'Zahlung gesetzt: Bestellung ' + CONVERT(VARCHAR(4000), dbo.tBestellung.cBestellNr) + ' ('+ CONVERT(VARCHAR(4000), INSERTED.kBestellung) + ') Betrag: ' + CONVERT(VARCHAR(4000), CAST(INSERTED.fBetrag AS DECIMAL(28, 2))), 8, 1
    FROM INSERTED
    LEFT JOIN DELETED ON INSERTED.kZahlung = DELETED.kZahlung
    JOIN dbo.tBestellung ON INSERTED.kBestellung = dbo.tBestellung.kBestellung
    WHERE DELETED.kZahlung IS NULL;

    INSERT INTO dbo.tLog (dDatum, kBenutzer, cLog, nTyp, nVorgang)
    SELECT GETDATE(), INSERTED.kBenutzer, 'Zahlung geändert: Bestellung ' + CONVERT(VARCHAR(4000), dbo.tBestellung.cBestellNr) + ' ('+ CONVERT(VARCHAR(4000), INSERTED.kBestellung) + ') Betrag: ' + CONVERT(VARCHAR(4000), CAST(INSERTED.fBetrag AS DECIMAL(28, 2))), 8, 2
    FROM INSERTED
    JOIN DELETED ON INSERTED.kZahlung = DELETED.kZahlung
    JOIN dbo.tBestellung ON INSERTED.kBestellung = dbo.tBestellung.kBestellung
    WHERE DELETED.fBetrag <> INSERTED.fBetrag;

    INSERT INTO dbo.tLog (dDatum, kBenutzer, cLog, nTyp, nVorgang)
    SELECT GETDATE(), DELETED.kBenutzer, 'Zahlung gelöscht: Bestellung ' + CONVERT(VARCHAR(4000), dbo.tBestellung.cBestellNr) + ' ('+ CONVERT(VARCHAR(4000), DELETED.kBestellung) + ') Betrag: ' + CONVERT(VARCHAR(4000), CAST(DELETED.fBetrag AS DECIMAL(28, 2))), 8, 3
    FROM DELETED
    LEFT JOIN INSERTED ON DELETED.kZahlung = INSERTED.kZahlung
    JOIN dbo.tBestellung ON DELETED.kBestellung = dbo.tBestellung.kBestellung
    WHERE INSERTED.kZahlung IS NULL;

    DECLARE @kZahlungenOhneZahlungsart AS TABLE (kZahlung INT)
   
    DECLARE @xBestellung AS XML
        SET @xBestellung = (
        SELECT DISTINCT U1.kBestellung FROM
        (
            SELECT DELETED.kBestellung FROM DELETED
            UNION
            SELECT INSERTED.kBestellung FROM INSERTED
        ) AS U1
        JOIN dbo.tbestellpos ON dbo.tbestellpos.tBestellung_kBestellung = U1.kBestellung
    FOR XML PATH('Bestellung'), TYPE
    )  
    IF(@xBestellung IS NOT NULL)
    BEGIN
        EXEC spBestellungEckdatenAktualisieren @xBestellungen = @xBestellung, @nKomplettAusgeliefertNichtBerechnen = 1;              
    END
   
    --
    -- Hier wird sichergestellt, dass kZahlungsart nicht 0 ist
    -- Dies ist für Ameisenexporte von Rechnungen erforderlich
    -- Der Wert 0 als Zahlungsart kann durch Importe aus externen Systemen entstehen
    --
    INSERT INTO @kZahlungenOhneZahlungsart (kZahlung)
    SELECT U1.kZahlung FROM
    (
        SELECT DELETED.kZahlung, DELETED.kZahlungsart FROM DELETED WHERE ISNULL(DELETED.kZahlungsart, 0) = 0  
        UNION
        SELECT INSERTED.kZahlung, INSERTED.kZahlungsart FROM INSERTED WHERE ISNULL(INSERTED.kZahlungsart, 0) = 0
    ) AS U1

    if(ISNULL((SELECT COUNT(kZahlung) FROM @kZahlungenOhneZahlungsart), 0) > 0)
    BEGIN
        DECLARE @kStandardZahlungsart INT
        SET @kStandardZahlungsart = ISNULL((SELECT TOP 1 tZahlungsart.kZahlungsart FROM tZahlungsart), 0)

        --
        -- Wenn keine Zahlungsart ermittelt werden kann wird eine Dummy-Zahlungsart angelegt
        --
        if(@kStandardZahlungsart = 0)
        BEGIN
            DECLARE @kZahlungsartPK AS TABLE (kZahlungsart INT)
            INSERT INTO @kZahlungsartPK(kZahlungsart) EXEC spGetAndUpdatePK 'tZahlungsart'
            SET @kStandardZahlungsart = ISNULL((SELECT TOP 1 kZahlungsart FROM @kZahlungsartPK), 0)  
                   
            INSERT INTO tZahlungsart(kZahlungsart, cName, cPrtString, nLastschrift, cPrtStringVor, cPaymentOption, cKonto, nAusliefernVorZahlung)
            VALUES(@kStandardZahlungsart, 'Automatisch angelegt', '', 0, '', '', '', 0)
        END

        --
        -- Zahlungsart setzen wo diese = 0 ist
        --
        UPDATE tZahlung WITH(ROWLOCK) SET tZahlung.kZahlungsart = ISNULL(tZahlungsart.kZahlungsart, @kStandardZahlungsart)
        FROM tZahlung WITH(ROWLOCK)
        LEFT JOIN tZahlungsart WITH(NOLOCK) ON LOWER(tZahlung.cName) = LOWER(tZahlungsart.cName)
        WHERE tZahlung.kZahlung IN
        (
            SELECT kZahlung FROM @kZahlungenOhneZahlungsart
        )
    END
END
2024-09-21T02:56:25 DEBUG - [SQL] Dauer: 4ms
2024-09-21T02:56:25 DEBUG - [SQL] ---
--- trg_tinetbestellpos_DELETE
---
IF EXISTS ( SELECT *
            FROM sys.objects
            WHERE object_id = OBJECT_ID(N'[trg_tinetbestellpos_DELETE]')
            AND type IN ( N'TR', N'TA' ))
DROP TRIGGER [trg_tinetbestellpos_DELETE]
2024-09-21T02:56:25 DEBUG - [SQL] Dauer: 3ms
2024-09-21T02:56:25 DEBUG - [SQL] CREATE TRIGGER [dbo].[trg_tinetbestellpos_DELETE]
--    
-- Copyright (c) 2012-2017 by JTL Software GmbH
-- Datum: $Date$
-- Version: $Rev$
--  
ON [dbo].[tinetbestellpos]
AFTER DELETE
AS
SET NOCOUNT ON;
SET ANSI_NULLS ON;
SET ANSI_NULL_DFLT_ON ON;
SET ANSI_PADDING ON;
SET CONCAT_NULL_YIELDS_NULL ON;
SET XACT_ABORT OFF;
BEGIN
   
    UPDATE dbo.tArtikelShop
        SET dbo.tArtikelShop.cInet = 'Y',
            dbo.tArtikelShop.nAktion = 1,
            dbo.tArtikelShop.nInBearbeitung = 0
    FROM DELETED
    JOIN dbo.tArtikelShop ON DELETED.kArikel = dbo.tArtikelShop.kArtikel
                        AND DELETED.kShop = dbo.tArtikelShop.kShop
    WHERE dbo.tArtikelShop.cInet <> 'Y'
        AND dbo.tArtikelShop.nAktion = 0;

END;
2024-09-21T02:56:25 DEBUG - [SQL] Dauer: 0ms
2024-09-21T02:56:25 DEBUG - [SQL] ---
--- DatabaseModification
---
TRUNCATE TABLE tLastModified;

INSERT INTO tLastModified (cTablename, dLastModified) VALUES (N'ebay_xx_sites', '2000-01-01T00:00:00');
INSERT INTO tLastModified (cTablename, dLastModified) VALUES (N'ebay_xx_versandarten', '2000-01-01T00:00:00');
INSERT INTO tLastModified (cTablename, dLastModified) VALUES (N'ebay_xx_zahlungsmethoden', '2000-01-01T00:00:00');
INSERT INTO tLastModified (cTablename, dLastModified) VALUES (N'pf_amazon_Mapping_Variationsnamen', '2000-01-01T00:00:00');
INSERT INTO tLastModified (cTablename, dLastModified) VALUES (N'tbenutzer', '2000-01-01T00:00:00');
INSERT INTO tLastModified (cTablename, dLastModified) VALUES (N'tBenutzerFirma', '2000-01-01T00:00:00');
INSERT INTO tLastModified (cTablename, dLastModified) VALUES (N'tbenutzerrechte', '2000-01-01T00:00:00');
INSERT INTO tLastModified (cTablename, dLastModified) VALUES (N'teinstellungen', '2000-01-01T00:00:00');
INSERT INTO tLastModified (cTablename, dLastModified) VALUES (N'tfirma', '2000-01-01T00:00:00');
INSERT INTO tLastModified (cTablename, dLastModified) VALUES (N'tkonfiggruppesprache', '2000-01-01T00:00:00');
INSERT INTO tLastModified (cTablename, dLastModified) VALUES (N'tKundenGruppe', '2000-01-01T00:00:00');
INSERT INTO tLastModified (cTablename, dLastModified) VALUES (N'tland', '2000-01-01T00:00:00');
INSERT INTO tLastModified (cTablename, dLastModified) VALUES (N'tLogistik', '2000-01-01T00:00:00');
INSERT INTO tLastModified (cTablename, dLastModified) VALUES (N'tOptions', '2000-01-01T00:00:00');
INSERT INTO tLastModified (cTablename, dLastModified) VALUES (N'tprintform', '2000-01-01T00:00:00');
INSERT INTO tLastModified (cTablename, dLastModified) VALUES (N'tRMStatus', '2000-01-01T00:00:00');
INSERT INTO tLastModified (cTablename, dLastModified) VALUES (N'tRMStatusBerechtigung', '2000-01-01T00:00:00');
INSERT INTO tLastModified (cTablename, dLastModified) VALUES (N'tRMStatusSprache', '2000-01-01T00:00:00');
INSERT INTO tLastModified (cTablename, dLastModified) VALUES (N'tSpracheUsed', '2000-01-01T00:00:00');
INSERT INTO tLastModified (cTablename, dLastModified) VALUES (N'tversion', '2000-01-01T00:00:00');
INSERT INTO tLastModified (cTablename, dLastModified) VALUES (N'tWaehrungISO', '2000-01-01T00:00:00');


---
--- tVersion setzen
---
UPDATE [dbo].[tVersion] SET [cVersion] = '1.1.4.14';
2024-09-21T02:56:25 DEBUG - [SQL] Dauer: 3ms
2024-09-21T02:56:25 DEBUG - [SQL] DELETE FROM dbo.ameise_importtypfeld WHERE kImportTypFeld = 919;
 
MERGE INTO dbo.tOptions USING (VALUES ('Database.SvnRevision', '55256')) AS Source(cKey, cValue) ON tOptions.cKey = Source.cKey WHEN MATCHED THEN UPDATE SET tOptions.cValue = Source.cValue WHEN NOT MATCHED BY TARGET THEN INSERT (cKey, cValue) VALUES (Source.cKey, Source.cValue);
2024-09-21T02:56:25 DEBUG - [SQL] Dauer: 1ms
Zeitstempel: 2024-09-21T02:58:09
Locale: German (Germany)
Locale: German (Germany)
Version: 1.1.4.14
Plattform: Wawi
Versionshash: 38354FDF
Prozessname: System.Diagnostics.Process (JTL-Wawi)
Physikalischer Speicher: 258314240 / Peak: 829104128
Basispriorität: 8
Prioritätsklasse: Normal
CPU-Zeit (User): 0:00:08,46875
CPU-Zeit (System): 0:00:03,328125
Page-Size (Sytem): 1806176 / Peak: 769429504
Page-Size: 186138624 / Peak: 769429504
Offene Handles: 1379

Ich habe versucht hier mit SQL Studio (2017) zu arbeiten und ggf "fake" Constraints zu setzen, aber nichts hilft :/ Gibt es hier jemanden der mir weiterhelfen kann?
Hi,

sowie ich das lese sind die Objekte vorhanden, aber unter anderem Typ. Du kannst ggf. mal im MMS unter den Tabellen bei Schlüsseln und Einschränkungen schauen, ob du da was mit dem Namen findest, das Löschen und dann als Fake Constraint anlegen sollte gehen.
Aber mach bitte vorher ein Backup. Und als JTL Mitarbeiter kann ich dir mit gutem Gewissen empfehlen auf eine aktuellere Version zu gehen. Wenn du wirklich mal ein Problem hast in so einer alten Version, wird dir niemand helfen können.
Die größten Änderungen aus Anwendersicht passieren ab der Version 1.6, dazu habe ich eine Playlist um die neuen Prozesse schnell verstehen zu können:

https://youtube.com/playlist?list=PL44cp2iiTsTV8fwCbOVfR3W9cguJlFnuJ&si=0gaG-_uFpAbFejhj

Gruß

Manuel
 

josssiii

Neues Mitglied
26. Januar 2025
1
0
Hallo zusammen,
ich habe grosses vor mir und versuche gerade "Step by Step" ein Update einer sehr veralteten Wawi Version durchzufuehren.
Derzeit versuche ich ein Update von 1.0.11 auf 1.1.4.14 (weil ich nichts aelteres finden konnte)
Die ersten 2 Fehlermeldungen die ich hatte mit der Collation konnte ich loesen. Doch nun wenn ich versuche die DB zu importieren (Reperatur wurde bereits ausgefuehrt) erhalte ich folgenden Log:

Code:
Unbehandelte Ausnahme #5AC80CA6F45F9EC0 vom Typ System.Data.SqlClient.SqlException in Void OnError(System.Data.SqlClient.SqlException, Boolean, System.Action`1[System.Action])
System.Data.SqlClient.SqlException (0x80131904): DF_tMahnstufe_nBevorzugeKundenZahlungsziel ist keine Einschränkung.
Die Einschränkung konnte nicht gelöscht werden. Siehe vorherige Fehler.
   bei System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
   bei System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
   bei System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
   bei System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
   bei System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async, Int32 timeout, Boolean asyncWrite)
   bei System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
   bei System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
   bei jtlDatabase.DB.ExecuteAndCatchDeadlock[T](SqlConnection oSqlConnection, Func`1 func)
   bei jtlDatabase.DB.executeLongRunningCommandSQL(String cSqlCommand, jtlDBParameter[] oDBParameter_arr)
   bei jtlCore.Classes.Update.SqlUpdater.<>c__DisplayClass2.<UpdateToVersion>b__0()
   bei jtlCore.Classes.Update.SqlUpdater.UpdateLogger.Log(Action action, Int32 index, String command)
   bei jtlCore.Classes.Update.SqlUpdater.UpdateToVersion(IList`1 sqlCommands, Version cVersion, TaskProgress oProgress)
ClientConnectionId:425088da-34ff-4922-9517-e690885132ad
Fehlernummer (Error Number):3728,Status (State):1,Klasse (Class):16
SQL-Fehlerinformationen: [LAPTOP-CH48PS9A\JTLWAWI .Net SqlClient Data Provider] Fehler #3728 (Klasse 16) in Zeile 1: DF_tMahnstufe_nBevorzugeKundenZahlungsziel ist keine Einschränkung.
SQL-Fehlerinformationen: [LAPTOP-CH48PS9A\JTLWAWI .Net SqlClient Data Provider] Fehler #3727 (Klasse 16) in Zeile 1: Die Einschränkung konnte nicht gelöscht werden. Siehe vorherige Fehler.
HelpLink.ProdName = Microsoft SQL Server
HelpLink.ProdVer = 14.00.2060
HelpLink.EvtSrc = MSSQLServer
HelpLink.EvtID = 3728
HelpLink.BaseHelpUrl = http://go.microsoft.com/fwlink
HelpLink.LinkId = 20476
CommandText = ALTER TABLE [dbo].[tMahnstufe] DROP CONSTRAINT [DF_tMahnstufe_nBevorzugeKundenZahlungsziel]
ALTER TABLE dbo.tMahnstufe DROP COLUMN nBevorzugeKundenZahlungsziel
LineNr = 1
Codefragment = ALTER TABLE [dbo].[tMahnstufe] DROP CONSTRAINT [DF_tMahnstufe_nBevorzugeKundenZahlungsziel]
Connection-String = DataSource=LAPTOP-CH48PS9A\JTLWAWI, InitialCatalog=eazybusiness, UserID=sa

Unbehandelte Ausnahme #5AC80CA6F45F9EC0 vom Typ System.Data.SqlClient.SqlException in Void OnError(System.Data.SqlClient.SqlException, Boolean, System.Action`1[System.Action]): DF_tkunde_nMahnrhytmus ist keine Einschränkung.
Die Einschränkung konnte nicht gelöscht werden. Siehe vorherige Fehler.
SQL-Fehler:
  Source: .Net SqlClient Data Provider
  Number: 3728
  State: 1
  Class: 16 (Anwendungsproblem)
  Server: LAPTOP-CH48PS9A\JTLWAWI
  Message: DF_tkunde_nMahnrhytmus ist keine Einschränkung.
  Procedure:
  LineNumber: 1

SQL-Fehler:
  Source: .Net SqlClient Data Provider
  Number: 3727
  State: 0
  Class: 16 (Anwendungsproblem)
  Server: LAPTOP-CH48PS9A\JTLWAWI
  Message: Die Einschränkung konnte nicht gelöscht werden. Siehe vorherige Fehler.
  Procedure:
  LineNumber: 1

HelpLink.ProdName = Microsoft SQL Server
HelpLink.ProdVer = 14.00.2060
HelpLink.EvtSrc = MSSQLServer
HelpLink.EvtID = 3728
HelpLink.BaseHelpUrl = http://go.microsoft.com/fwlink
HelpLink.LinkId = 20476
CommandText = ALTER TABLE [dbo].[tkunde] DROP CONSTRAINT [DF_tkunde_nMahnrhytmus]
LineNr = 1
Codefragment = ALTER TABLE [dbo].[tkunde] DROP CONSTRAINT [DF_tkunde_nMahnrhytmus]
Connection-String = DataSource=LAPTOP-CH48PS9A\JTLWAWI, InitialCatalog=eazybusiness, UserID=sa

Unbehandelte Ausnahme #5AC80CA6F45F9EC0 vom Typ System.Data.SqlClient.SqlException in Void OnError(System.Data.SqlClient.SqlException, Boolean, System.Action`1[System.Action]): Löschen des Index-Objekts "dbo.tWarenLagerPlatz.IX_tWarenLagerPlatz_kWarenLager" ist nicht möglich, weil das Objekt nicht vorhanden ist oder Sie nicht die erforderliche Berechtigung haben.
SQL-Fehler:
  Source: .Net SqlClient Data Provider
  Number: 3701
  State: 7
  Class: 11 (Anwendungsproblem)
  Server: LAPTOP-CH48PS9A\JTLWAWI
  Message: Löschen des Index-Objekts "dbo.tWarenLagerPlatz.IX_tWarenLagerPlatz_kWarenLager" ist nicht möglich, weil das Objekt nicht vorhanden ist oder Sie nicht die erforderliche Berechtigung haben.
  Procedure:
  LineNumber: 3

HelpLink.ProdName = Microsoft SQL Server
HelpLink.ProdVer = 14.00.2060
HelpLink.EvtSrc = MSSQLServer
HelpLink.EvtID = 3701
HelpLink.BaseHelpUrl = http://go.microsoft.com/fwlink
HelpLink.LinkId = 20476
CommandText = -- dbo.tWarenLagerPlatz.nStatus darf nicht NULL sein, werden zu 0 gemacht und constraint drauf

DROP INDEX [IX_tWarenLagerPlatz_kWarenLager] ON [dbo].[tWarenLagerPlatz];

UPDATE dbo.tWarenLagerPlatz
SET nStatus = 0
WHERE nStatus IS NULL;

ALTER TABLE dbo.tWarenLagerPlatz ALTER COLUMN nStatus INT NOT NULL;

ALTER TABLE dbo.tWarenLagerPlatz  ADD CONSTRAINT DF_tWarenLagerPlatz_nStatus DEFAULT 0 FOR nStatus;


CREATE NONCLUSTERED INDEX [IX_tWarenLagerPlatz_kWarenLager] ON [dbo].[tWarenLagerPlatz]
(
    [kWarenLager] ASC
)
INCLUDE (     [nStatus]) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON);
LineNr = 3
Codefragment = UPDATE dbo.tWarenLagerPlatz
Connection-String = DataSource=LAPTOP-CH48PS9A\JTLWAWI, InitialCatalog=eazybusiness, UserID=sa

Unbehandelte Ausnahme #5AC80CA6F45F9EC0 vom Typ System.Data.SqlClient.SqlException in Void OnError(System.Data.SqlClient.SqlException, Boolean, System.Action`1[System.Action]): DF_tprintform_cZahlungsziel ist keine Einschränkung.
Die Einschränkung konnte nicht gelöscht werden. Siehe vorherige Fehler.
SQL-Fehler:
  Source: .Net SqlClient Data Provider
  Number: 3728
  State: 1
  Class: 16 (Anwendungsproblem)
  Server: LAPTOP-CH48PS9A\JTLWAWI
  Message: DF_tprintform_cZahlungsziel ist keine Einschränkung.
  Procedure:
  LineNumber: 8

SQL-Fehler:
  Source: .Net SqlClient Data Provider
  Number: 3727
  State: 0
  Class: 16 (Anwendungsproblem)
  Server: LAPTOP-CH48PS9A\JTLWAWI
  Message: Die Einschränkung konnte nicht gelöscht werden. Siehe vorherige Fehler.
  Procedure:
  LineNumber: 8

HelpLink.ProdName = Microsoft SQL Server
HelpLink.ProdVer = 14.00.2060
HelpLink.EvtSrc = MSSQLServer
HelpLink.EvtID = 3728
HelpLink.BaseHelpUrl = http://go.microsoft.com/fwlink
HelpLink.LinkId = 20476
CommandText = -- Falsch definierte Spalten korrigieren
ALTER TABLE dbo.tConfiguration ALTER COLUMN Arbeitsplatz NVARCHAR(200);
ALTER TABLE dbo.tAttribut ALTER COLUMN cGruppeName NVARCHAR(150);
ALTER TABLE dbo.tSprachen ALTER COLUMN cKultur NCHAR(20);
ALTER TABLE dbo.tSpracheUsed ALTER COLUMN cKultur NCHAR(20);
ALTER TABLE dbo.tFeldTyp ALTER COLUMN cName NVARCHAR(300) NOT NULL;
ALTER TABLE dbo.tintervallpos ALTER COLUMN kArtikel INT;
ALTER TABLE dbo.tprintform DROP CONSTRAINT DF_tprintform_cZahlungsziel;
ALTER TABLE dbo.tprintform ADD CONSTRAINT DF_tprintform_cZahlungsziel DEFAULT ('Das Zahlungsziel beträgt <T> Tage.') FOR cZahlungsziel;

-- Index droppen
IF EXISTS(SELECT * FROM sys.indexes WHERE name = 'IX_tMerkmalGruppeMerkmal_kMerkmalGruppe' AND object_id = OBJECT_ID('[dbo].[tMerkmalGruppeMerkmal]'))
BEGIN
    DROP INDEX IX_tMerkmalGruppeMerkmal_kMerkmalGruppe ON [dbo].[tMerkmalGruppeMerkmal];
END;
LineNr = 8
Codefragment = ALTER TABLE dbo.tprintform DROP CONSTRAINT DF_tprintform_cZahlungsziel;
Connection-String = DataSource=LAPTOP-CH48PS9A\JTLWAWI, InitialCatalog=eazybusiness, UserID=sa

2024-09-21T02:56:25 DEBUG - [SQL] Dauer: 1ms
2024-09-21T02:56:25 DEBUG - [SQL] ---
--- tgr_tXSell_Connector_DELETE
---
IF EXISTS ( SELECT *
            FROM sys.objects
            WHERE object_id = OBJECT_ID(N'[tgr_tXSell_Connector_DELETE]')
            AND type IN ( N'TR', N'TA' ))
DROP TRIGGER [tgr_tXSell_Connector_DELETE]
2024-09-21T02:56:25 DEBUG - [SQL] Dauer: 3ms
2024-09-21T02:56:25 DEBUG - [SQL] CREATE TRIGGER [dbo].[tgr_tXSell_Connector_DELETE]
--
-- Copyright (c) 2012-2017 by JTL Software GmbH
-- Datum: $Date$
-- Version: $Rev$
-- Autor: MP
--
ON [dbo].[tXSell]
AFTER DELETE
AS
SET NOCOUNT ON;
SET ANSI_NULLS ON;
SET ANSI_NULL_DFLT_ON ON;
SET ANSI_PADDING ON;
SET CONCAT_NULL_YIELDS_NULL ON;
SET XACT_ABORT OFF;
BEGIN
    --Überprüfen ob Trigger gefüllt aufgerufen wird
    IF((SELECT COUNT(1) FROM DELETED) = 0)
    BEGIN
        RETURN;
    END;

    DECLARE @Komplett AS INT;
    --DECLARE @Preis AS INT;
    --DECLARE @Bestand AS INT;

    SET @Komplett = 1
    --SET @Preis = 2
    --SET @Bestand = 4

    INSERT INTO dbo.tQueue (kShop, kPlattform, cName, kWert, nAction, kOption1, kOption2, nInBearbeitung)
    SELECT dbo.tArtikelShop.kShop, 0, 'tXSell', DELETED.kArtikel, 2, 0, 0, 0
    FROM DELETED
    JOIN dbo.tArtikelShop ON DELETED.kArtikel = dbo.tArtikelShop.kArtikel
    LEFT JOIN dbo.tXSell ON DELETED.kArtikel = dbo.tXSell.kArtikel
    WHERE dbo.tXSell.kArtikel IS NULL

    UPDATE dbo.tArtikelShop
        SET dbo.tArtikelShop.cInet = 'Y',
            dbo.tArtikelShop.nAktion = @Komplett,
            dbo.tArtikelShop.nInBearbeitung = 0
    FROM DELETED
    JOIN dbo.tArtikelShop ON DELETED.kArtikel = dbo.tArtikelShop.kArtikel
    JOIN dbo.tXSell ON DELETED.kArtikel = dbo.tXSell.kArtikel
    WHERE    dbo.tArtikelShop.cInet = 'N'
            OR dbo.tArtikelShop.nAktion & @Komplett = 0
            OR dbo.tArtikelShop.nInBearbeitung = 1;


END
2024-09-21T02:56:25 DEBUG - [SQL] Dauer: 1ms
2024-09-21T02:56:25 DEBUG - [SQL] ---
--- tgr_tXSell_Connector_INSERT_UPDATE
---
IF EXISTS ( SELECT *
            FROM sys.objects
            WHERE object_id = OBJECT_ID(N'[tgr_tXSell_Connector_INSERT_UPDATE]')
            AND type IN ( N'TR', N'TA' ))
DROP TRIGGER [tgr_tXSell_Connector_INSERT_UPDATE]
2024-09-21T02:56:25 DEBUG - [SQL] Dauer: 3ms
2024-09-21T02:56:25 DEBUG - [SQL] CREATE TRIGGER [dbo].[tgr_tXSell_Connector_INSERT_UPDATE]
--
-- Copyright (c) 2012-2017 by JTL Software GmbH
-- Datum: $Date$
-- Version: $Rev$
-- Autor: MP
--
ON [dbo].[tXSell]
AFTER UPDATE, INSERT
AS
SET NOCOUNT ON;
SET ANSI_NULLS ON;
SET ANSI_NULL_DFLT_ON ON;
SET ANSI_PADDING ON;
SET CONCAT_NULL_YIELDS_NULL ON;
SET XACT_ABORT OFF;
BEGIN
    --Überprüfen ob Trigger gefüllt aufgerufen wird
    IF((SELECT COUNT(1) FROM INSERTED) = 0)
    BEGIN
        RETURN;
    END
   
    DECLARE @Komplett AS INT;
    --DECLARE @Preis AS INT;
    --DECLARE @Bestand AS INT;

    SET @Komplett = 1
    --SET @Preis = 2
    --SET @Bestand = 4

    --
    -- Artikel vollständig zu Webshops senden, wenn Änderungen vorgenommen wurden
    --
    UPDATE dbo.tArtikelShop
        SET dbo.tArtikelShop.nAktion = dbo.tArtikelShop.nAktion | @Komplett,
            dbo.tArtikelShop.cInet = 'Y',
            dbo.tArtikelShop.nInBearbeitung = 0
    FROM dbo.tArtikelShop
    JOIN INSERTED ON dbo.tArtikelShop.kArtikel = INSERTED.kArtikel      
    WHERE    dbo.tArtikelShop.cInet = 'N'
            OR dbo.tArtikelShop.nAktion & @Komplett = 0
            OR dbo.tArtikelShop.nInBearbeitung = 1;

END
2024-09-21T02:56:25 DEBUG - [SQL] Dauer: 1ms
2024-09-21T02:56:25 DEBUG - [SQL] ---
--- tgr_tXSellGruppe_INSUPDEL
---
IF EXISTS ( SELECT *
            FROM sys.objects
            WHERE object_id = OBJECT_ID(N'[tgr_tXSellGruppe_INSUPDEL]')
            AND type IN ( N'TR', N'TA' ))
DROP TRIGGER [tgr_tXSellGruppe_INSUPDEL]
2024-09-21T02:56:25 DEBUG - [SQL] Dauer: 3ms
2024-09-21T02:56:25 DEBUG - [SQL] CREATE TRIGGER [dbo].[tgr_tXSellGruppe_INSUPDEL]
--
-- Copyright (c) 2012-2017 by JTL Software GmbH
-- Datum: $Date$
-- Version: $Rev$
--
ON [dbo].[tXSellGruppe]
AFTER INSERT, UPDATE, DELETE
AS
SET CONCAT_NULL_YIELDS_NULL ON;
SET ANSI_WARNINGS ON;
SET ANSI_PADDING ON;
SET NOCOUNT ON;
BEGIN
    --Überprüfen ob Trigger gefüllt aufgerufen wird
    IF((SELECT COUNT(1) FROM INSERTED FULL JOIN DELETED ON INSERTED.kXSellGruppe = DELETED.kXSellGruppe) = 0)
    BEGIN
        RETURN
    END

    INSERT INTO dbo.tGlobalsQueue(kShop, nType, cName, kKey, dTimeStamp)
    SELECT dbo.tShop.kShop, 1, 'tXSellGruppe', INSERTED.kXSellGruppe, GETDATE()
    FROM INSERTED
    JOIN dbo.tSpracheUsed ON INSERTED.kSprache = dbo.tSpracheUsed.kSprache
        AND dbo.tSpracheUsed.nStandard = 1
    LEFT JOIN DELETED ON INSERTED.kXSellGruppe = DELETED.kXSellGruppe
    CROSS JOIN dbo.tShop
    WHERE DELETED.kXSellGruppe IS NULL;

    INSERT INTO dbo.tGlobalsQueue(kShop, nType, cName, kKey, dTimeStamp)
    SELECT dbo.tShop.kShop, 1, 'tXSellGruppe', INSERTED.kXSellGruppe, GETDATE()
    FROM INSERTED
    JOIN dbo.tSpracheUsed ON INSERTED.kSprache = dbo.tSpracheUsed.kSprache
        AND dbo.tSpracheUsed.nStandard = 1
    JOIN DELETED ON INSERTED.kXSellGruppe = DELETED.kXSellGruppe
    CROSS JOIN dbo.tShop
    WHERE DELETED.cName <> INSERTED.cName
        OR DELETED.cBeschreibung <> INSERTED.cBeschreibung;

    INSERT INTO dbo.tGlobalsQueue(kShop, nType, cName, kKey, dTimeStamp)
    SELECT dbo.tShop.kShop, 2, 'tXSellGruppe', DELETED.kXSellGruppe, GETDATE()
    FROM DELETED
    JOIN dbo.tSpracheUsed ON DELETED.kSprache = dbo.tSpracheUsed.kSprache
        AND dbo.tSpracheUsed.nStandard = 1
    LEFT JOIN INSERTED ON DELETED.kXSellGruppe = INSERTED.kXSellGruppe
    CROSS JOIN dbo.tShop
    WHERE INSERTED.kXSellGruppe IS NULL;
END
2024-09-21T02:56:25 DEBUG - [SQL] Dauer: 1ms
2024-09-21T02:56:25 DEBUG - [SQL] ---
--- tgr_tZahlung_INSUPDEL
---
IF EXISTS ( SELECT *
            FROM sys.objects
            WHERE object_id = OBJECT_ID(N'[tgr_tZahlung_INSUPDEL]')
            AND type IN ( N'TR', N'TA' ))
DROP TRIGGER [tgr_tZahlung_INSUPDEL]
2024-09-21T02:56:25 DEBUG - [SQL] Dauer: 3ms
2024-09-21T02:56:25 DEBUG - [SQL] CREATE TRIGGER [dbo].[tgr_tZahlung_INSUPDEL]
--
-- Copyright (c) 2012-2017 by JTL Software GmbH
-- Datum: $Date$
-- Version: $Rev$
--
ON [dbo].[tZahlung]
AFTER INSERT, UPDATE, DELETE
AS
SET CONCAT_NULL_YIELDS_NULL ON;
SET ANSI_WARNINGS ON;
SET ANSI_PADDING ON;
SET NOCOUNT ON;
BEGIN
    --Überprüfen ob Trigger gefüllt aufgerufen wird
    IF((SELECT COUNT(1) FROM INSERTED FULL JOIN DELETED ON INSERTED.kZahlung = DELETED.kZahlung) = 0)
    BEGIN
        RETURN
    END

    INSERT INTO dbo.tLog (dDatum, kBenutzer, cLog, nTyp, nVorgang)
    SELECT GETDATE(), INSERTED.kBenutzer, 'Zahlung gesetzt: Bestellung ' + CONVERT(VARCHAR(4000), dbo.tBestellung.cBestellNr) + ' ('+ CONVERT(VARCHAR(4000), INSERTED.kBestellung) + ') Betrag: ' + CONVERT(VARCHAR(4000), CAST(INSERTED.fBetrag AS DECIMAL(28, 2))), 8, 1
    FROM INSERTED
    LEFT JOIN DELETED ON INSERTED.kZahlung = DELETED.kZahlung
    JOIN dbo.tBestellung ON INSERTED.kBestellung = dbo.tBestellung.kBestellung
    WHERE DELETED.kZahlung IS NULL;

    INSERT INTO dbo.tLog (dDatum, kBenutzer, cLog, nTyp, nVorgang)
    SELECT GETDATE(), INSERTED.kBenutzer, 'Zahlung geändert: Bestellung ' + CONVERT(VARCHAR(4000), dbo.tBestellung.cBestellNr) + ' ('+ CONVERT(VARCHAR(4000), INSERTED.kBestellung) + ') Betrag: ' + CONVERT(VARCHAR(4000), CAST(INSERTED.fBetrag AS DECIMAL(28, 2))), 8, 2
    FROM INSERTED
    JOIN DELETED ON INSERTED.kZahlung = DELETED.kZahlung
    JOIN dbo.tBestellung ON INSERTED.kBestellung = dbo.tBestellung.kBestellung
    WHERE DELETED.fBetrag <> INSERTED.fBetrag;

    INSERT INTO dbo.tLog (dDatum, kBenutzer, cLog, nTyp, nVorgang)
    SELECT GETDATE(), DELETED.kBenutzer, 'Zahlung gelöscht: Bestellung ' + CONVERT(VARCHAR(4000), dbo.tBestellung.cBestellNr) + ' ('+ CONVERT(VARCHAR(4000), DELETED.kBestellung) + ') Betrag: ' + CONVERT(VARCHAR(4000), CAST(DELETED.fBetrag AS DECIMAL(28, 2))), 8, 3
    FROM DELETED
    LEFT JOIN INSERTED ON DELETED.kZahlung = INSERTED.kZahlung
    JOIN dbo.tBestellung ON DELETED.kBestellung = dbo.tBestellung.kBestellung
    WHERE INSERTED.kZahlung IS NULL;

    DECLARE @kZahlungenOhneZahlungsart AS TABLE (kZahlung INT)
   
    DECLARE @xBestellung AS XML
        SET @xBestellung = (
        SELECT DISTINCT U1.kBestellung FROM
        (
            SELECT DELETED.kBestellung FROM DELETED
            UNION
            SELECT INSERTED.kBestellung FROM INSERTED
        ) AS U1
        JOIN dbo.tbestellpos ON dbo.tbestellpos.tBestellung_kBestellung = U1.kBestellung
    FOR XML PATH('Bestellung'), TYPE
    )  
    IF(@xBestellung IS NOT NULL)
    BEGIN
        EXEC spBestellungEckdatenAktualisieren @xBestellungen = @xBestellung, @nKomplettAusgeliefertNichtBerechnen = 1;              
    END
   
    --
    -- Hier wird sichergestellt, dass kZahlungsart nicht 0 ist
    -- Dies ist für Ameisenexporte von Rechnungen erforderlich
    -- Der Wert 0 als Zahlungsart kann durch Importe aus externen Systemen entstehen
    --
    INSERT INTO @kZahlungenOhneZahlungsart (kZahlung)
    SELECT U1.kZahlung FROM
    (
        SELECT DELETED.kZahlung, DELETED.kZahlungsart FROM DELETED WHERE ISNULL(DELETED.kZahlungsart, 0) = 0  
        UNION
        SELECT INSERTED.kZahlung, INSERTED.kZahlungsart FROM INSERTED WHERE ISNULL(INSERTED.kZahlungsart, 0) = 0
    ) AS U1

    if(ISNULL((SELECT COUNT(kZahlung) FROM @kZahlungenOhneZahlungsart), 0) > 0)
    BEGIN
        DECLARE @kStandardZahlungsart INT
        SET @kStandardZahlungsart = ISNULL((SELECT TOP 1 tZahlungsart.kZahlungsart FROM tZahlungsart), 0)

        --
        -- Wenn keine Zahlungsart ermittelt werden kann wird eine Dummy-Zahlungsart angelegt
        --
        if(@kStandardZahlungsart = 0)
        BEGIN
            DECLARE @kZahlungsartPK AS TABLE (kZahlungsart INT)
            INSERT INTO @kZahlungsartPK(kZahlungsart) EXEC spGetAndUpdatePK 'tZahlungsart'
            SET @kStandardZahlungsart = ISNULL((SELECT TOP 1 kZahlungsart FROM @kZahlungsartPK), 0)  
                   
            INSERT INTO tZahlungsart(kZahlungsart, cName, cPrtString, nLastschrift, cPrtStringVor, cPaymentOption, cKonto, nAusliefernVorZahlung)
            VALUES(@kStandardZahlungsart, 'Automatisch angelegt', '', 0, '', '', '', 0)
        END

        --
        -- Zahlungsart setzen wo diese = 0 ist
        --
        UPDATE tZahlung WITH(ROWLOCK) SET tZahlung.kZahlungsart = ISNULL(tZahlungsart.kZahlungsart, @kStandardZahlungsart)
        FROM tZahlung WITH(ROWLOCK)
        LEFT JOIN tZahlungsart WITH(NOLOCK) ON LOWER(tZahlung.cName) = LOWER(tZahlungsart.cName)
        WHERE tZahlung.kZahlung IN
        (
            SELECT kZahlung FROM @kZahlungenOhneZahlungsart
        )
    END
END
2024-09-21T02:56:25 DEBUG - [SQL] Dauer: 4ms
2024-09-21T02:56:25 DEBUG - [SQL] ---
--- trg_tinetbestellpos_DELETE
---
IF EXISTS ( SELECT *
            FROM sys.objects
            WHERE object_id = OBJECT_ID(N'[trg_tinetbestellpos_DELETE]')
            AND type IN ( N'TR', N'TA' ))
DROP TRIGGER [trg_tinetbestellpos_DELETE]
2024-09-21T02:56:25 DEBUG - [SQL] Dauer: 3ms
2024-09-21T02:56:25 DEBUG - [SQL] CREATE TRIGGER [dbo].[trg_tinetbestellpos_DELETE]
--    
-- Copyright (c) 2012-2017 by JTL Software GmbH
-- Datum: $Date$
-- Version: $Rev$
--  
ON [dbo].[tinetbestellpos]
AFTER DELETE
AS
SET NOCOUNT ON;
SET ANSI_NULLS ON;
SET ANSI_NULL_DFLT_ON ON;
SET ANSI_PADDING ON;
SET CONCAT_NULL_YIELDS_NULL ON;
SET XACT_ABORT OFF;
BEGIN
   
    UPDATE dbo.tArtikelShop
        SET dbo.tArtikelShop.cInet = 'Y',
            dbo.tArtikelShop.nAktion = 1,
            dbo.tArtikelShop.nInBearbeitung = 0
    FROM DELETED
    JOIN dbo.tArtikelShop ON DELETED.kArikel = dbo.tArtikelShop.kArtikel
                        AND DELETED.kShop = dbo.tArtikelShop.kShop
    WHERE dbo.tArtikelShop.cInet <> 'Y'
        AND dbo.tArtikelShop.nAktion = 0;

END;
2024-09-21T02:56:25 DEBUG - [SQL] Dauer: 0ms
2024-09-21T02:56:25 DEBUG - [SQL] ---
--- DatabaseModification
---
TRUNCATE TABLE tLastModified;

INSERT INTO tLastModified (cTablename, dLastModified) VALUES (N'ebay_xx_sites', '2000-01-01T00:00:00');
INSERT INTO tLastModified (cTablename, dLastModified) VALUES (N'ebay_xx_versandarten', '2000-01-01T00:00:00');
INSERT INTO tLastModified (cTablename, dLastModified) VALUES (N'ebay_xx_zahlungsmethoden', '2000-01-01T00:00:00');
INSERT INTO tLastModified (cTablename, dLastModified) VALUES (N'pf_amazon_Mapping_Variationsnamen', '2000-01-01T00:00:00');
INSERT INTO tLastModified (cTablename, dLastModified) VALUES (N'tbenutzer', '2000-01-01T00:00:00');
INSERT INTO tLastModified (cTablename, dLastModified) VALUES (N'tBenutzerFirma', '2000-01-01T00:00:00');
INSERT INTO tLastModified (cTablename, dLastModified) VALUES (N'tbenutzerrechte', '2000-01-01T00:00:00');
INSERT INTO tLastModified (cTablename, dLastModified) VALUES (N'teinstellungen', '2000-01-01T00:00:00');
INSERT INTO tLastModified (cTablename, dLastModified) VALUES (N'tfirma', '2000-01-01T00:00:00');
INSERT INTO tLastModified (cTablename, dLastModified) VALUES (N'tkonfiggruppesprache', '2000-01-01T00:00:00');
INSERT INTO tLastModified (cTablename, dLastModified) VALUES (N'tKundenGruppe', '2000-01-01T00:00:00');
INSERT INTO tLastModified (cTablename, dLastModified) VALUES (N'tland', '2000-01-01T00:00:00');
INSERT INTO tLastModified (cTablename, dLastModified) VALUES (N'tLogistik', '2000-01-01T00:00:00');
INSERT INTO tLastModified (cTablename, dLastModified) VALUES (N'tOptions', '2000-01-01T00:00:00');
INSERT INTO tLastModified (cTablename, dLastModified) VALUES (N'tprintform', '2000-01-01T00:00:00');
INSERT INTO tLastModified (cTablename, dLastModified) VALUES (N'tRMStatus', '2000-01-01T00:00:00');
INSERT INTO tLastModified (cTablename, dLastModified) VALUES (N'tRMStatusBerechtigung', '2000-01-01T00:00:00');
INSERT INTO tLastModified (cTablename, dLastModified) VALUES (N'tRMStatusSprache', '2000-01-01T00:00:00');
INSERT INTO tLastModified (cTablename, dLastModified) VALUES (N'tSpracheUsed', '2000-01-01T00:00:00');
INSERT INTO tLastModified (cTablename, dLastModified) VALUES (N'tversion', '2000-01-01T00:00:00');
INSERT INTO tLastModified (cTablename, dLastModified) VALUES (N'tWaehrungISO', '2000-01-01T00:00:00');


---
--- Set tVersion
---
UPDATE [dbo].[tVersion] SET [cVersion] = '1.1.4.14';
2024-09-21T02:56:25 DEBUG - [SQL] Duration: 3ms
2024-09-21T02:56:25 DEBUG - [SQL] DELETE FROM dbo.ameise_importtypfeld WHERE kImportTypFeld = 919;
 
MERGE INTO dbo.tOptions USING (VALUES ('Database.SvnRevision', '55256')) AS Source(cKey, cValue) ON tOptions.cKey = Source.cKey WHEN MATCHED THEN UPDATE SET tOptions.cValue = Source.cValue WHEN NOT MATCHED BY TARGET THEN INSERT (cKey, cValue) VALUES(Source.cKey, Source.cValue);
2024-09-21T02:56:25 DEBUG - [SQL] Duration: 1ms
Timestamp: 2024-09-21T02:58:09
Locale: German (Germany)
Locale: German (Germany)
Version: 1.1.4.14
Platform: Wawi
Version hash: 38354FDF
Process name: System.Diagnostics.Process (JTL-Wawi)
Physical memory: 258314240 / Peak: 829104128
Base priority: 8
Priority Class: Normal
CPU time (user): 0:00:08.46875
CPU time (system): 0:00:03.328125
Page Size (System): 1806176 / Peak: 769429504
Page Size: 186138624 / Peak: 769429504
Open handles: 1379

I tried working with SQL Studio (2017) and possibly setting "fake" constraints, but nothing helps :/ Is there anyone here who can help me? pixelcarracerapk.com
It seems like you're making progress with the update. If you're encountering errors during DB import, check for any compatibility issues between versions or missing files. Reviewing the error log can help pinpoint the exact cause.
 
Ähnliche Themen
Titel Forum Antworten Datum
Probleme mit dem Abgleich von Amazon seit Update auf JTL-Wawi 1.964 JTL-Wawi 1.9 0
Neu Update JTL Wawi von 1.0.0.0 auf 1.8.10.0 Installation von JTL-Wawi 14
Neu Update auf Wawi 1.9 - kein Zugriff mehr auf Produktionsmodul JTL-Plan&Produce - Fehler und Bugs 1
Unterstützung Update JTL Wawi JTL-Wawi 1.9 2
Neu update Jtl Wawi User helfen Usern - Fragen zu JTL-Wawi 4
Nach Update auf 1.9.6.5 sind in der Wawi alle Hersteller DOPPELT ! vorhanden JTL-Wawi 1.9 5
Neu JTL Wawi 1.9.6.2 024-11 Kumulatives Update für .NET Framework 3.5 und 4.8.1 für Windows 11, version 23H2 für x64 (KB5045935) JTL-Wawi - Fehler und Bugs 2
Neu Datenbank Abfrage/Update Kundengruppe Checkbox bei Sonderpreisen JTL Ameise - Eigene Exporte 1
Neu Kassenbuch Fehler nach Update JTL-POS - Fehler und Bugs 2
Neu Erheblich Workflow Probleme nach Update auf 1.9 User helfen Usern - Fragen zu JTL-Wawi 5
Neu Probleme beim Aufruf von Email-Vorlage nach Shop-Update Betrieb / Pflege von JTL-Shop 5
In Bearbeitung Kassenbuch Fehler nach Update JTL-POS - Fehler und Bugs 13
Probleme mit dem Anlegen von Herstellern seit Update auf Version 1.9.7.0 JTL-Wawi 1.9 5
In Bearbeitung Barentnahme bei Kassenschnitt geht bei mir nicht oder mache ich was falsch? neues Update drauf JTL-POS - Fehler und Bugs 9
In Bearbeitung Nach Update am 24.01.2025 wird kein Lagerbestand mehr angezeigt !!!! Einrichtung / Updates von JTL-POS 5
In Bearbeitung Nach Update Eingabe/Scanprobleme Einrichtung / Updates von JTL-POS 7
Neu Update und XRechnungsvorlage Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
In Bearbeitung Nach update 1.0.11.1 keine übername Einrichtung / Updates von JTL-POS 2
In Bearbeitung Nach Update 1.0.11.1 kein Artikel Lagerbestand in Artikelübersicht Einrichtung / Updates von JTL-POS 5
In Bearbeitung Nach Update, Retoure, Bon Nr. Suchen geht nicht JTL-POS - Fehler und Bugs 2
Neu beim Update auf die 5.4.0 erhalte wir folgende Fehlermeldung: JTL-Shop - Fehler und Bugs 4
Update laüft nicht JTL-Wawi 1.9 4
Neu WF funktioniert nach Update auf 1.9.6.5 nicht mehr User helfen Usern - Fragen zu JTL-Wawi 7
Neu Update von 5.1.5 auf 5.4 Installation / Updates von JTL-Shop 15
Fehler beim Update von 1.9.4.6 auf 1.9.6.5 - HILFE JTL-Wawi 1.9 4
Neu Update Shop von 5.2 auf 5.3 und 5.4, Schritt 2: JTL-Shop-Dateien aktualisieren Installation / Updates von JTL-Shop 42
Neu Seit update auf version 5.4 habe ich den Fehler das die Shop class nicht mehr gefunden wird. Technische Fragen zu Plugins und Templates 4
Update von 1.9.4.6 auf 1.9.6.5 gelingt nicht JTL-Wawi 1.9 2
Neu SMARTY-Dingens haben geändert nach Update ... Upgrade JTL-Shop4 auf JTL-Shop5 2
Neu Sortiernummer der Hersteller seit Update auf 1.9.6.5 durcheinander User helfen Usern - Fragen zu JTL-Wawi 14
Neu Pluginmanager lässt sich nach Update von 5.2 auf 5.4 nicht aufrufen JTL-Shop - Fehler und Bugs 2
Seit Update auf 1.9.6.5 Fehler bei Bestellabschluss, aber Bestellung geht ein JTL-Wawi 1.9 7
Neu Update geht nicht User helfen Usern - Fragen zu JTL-Wawi 1
Neu Hilfe beim Update Shop 5 Installation / Updates von JTL-Shop 2
Neu Blogbeitrags Titelbilder und Rechtliche informationen seit update auf 5.4 nicht sichtbar/ausgeblendet. JTL-Shop - Fehler und Bugs 6
ERLEDIGT: Nach Update auf von Shop 5.3.x auf 5.4.0 ERROR 500 Wer kann helfen Upgrade JTL-Shop4 auf JTL-Shop5 0
Neu Update von Version 1.0.0.0 schlägt fehl auf Version 1.4.29.0 User helfen Usern - Fragen zu JTL-Wawi 3
Neu Update von 5.1.5 auf 5.4 nicht möglich Installation / Updates von JTL-Shop 4
Update auf 1.9.6.5 Track & Trace JTL-Wawi 1.9 2
Neu Nach Update auf JTL GPSR-Plugin 1.0.3 vom Backend ausgeschlossen Plugins für JTL-Shop 25
Neu JTL Connector erzeugt auf diversen Seiten wie etwa dem Warenkorb einen Bad Gateway 502 nach Update zu Woocommerce Version 9.4.3 WooCommerce-Connector 0
Neu Update für Shopvote 1.1.0 führt zu SQL-Fehler Plugins für JTL-Shop 5
Neu Shop Update. Datenbanksicherung Wo wird diese abgelegt? Installation / Updates von JTL-Shop 2
Neu Probleme nach update des neuen Shops JTL-Shop - Fehler und Bugs 9
Neu update auf 5.4.0 klappt nicht (dbupdater) Installation / Updates von JTL-Shop 2
Nach Update, wie Zahlungsabgleich bei Benutzern machen? JTL-Wawi 1.9 1
Neu WMS Teilmengen - Dank Update deaktiviert. JTL-WMS / JTL-Packtisch+ - Ideen, Lob und Kritik 0
Neu Fehler bei Update: Error "SQLSTATE[42S02]: Base table or view not found: 1146 Table 'web10_14.plugin_state_log' doesn't exist" in migration.... Installation / Updates von JTL-Shop 5
Update 1.9.6.1 weitere Verkaufskanäle fehler bei Abgleich JTL-Wawi 1.9 1
Neu [Entwarnung] ACHTUNG: JTL Shop 5.3.3 | Nach Update des JTL PayPal Commerce Plugins kein Backend mehr verfügbar (FATAL ERROR) Installation / Updates von JTL-Shop 2

Ähnliche Themen