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:
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?
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?