Neu CSV Import bricht mit SQL Fehler ab

foxship

Neues Mitglied
28. August 2019
3
0
Hallo lieber Support,
wir importieren seit langem eine CSV Datei via Ameise in die Wawi. Das hat bis jetzt immer ganz gut geklappt, jedoch seit ein paar Wochen geht dies nicht mehr und wir bekommen immer einen SQL Fehler. Den Fehler findet ihr hier:
Code:
Unbehandelte Ausnahme #69FB153591D5CCAE vom Typ System.Data.SqlClient.SqlException in Void OnError(System.Data.SqlClient.SqlException, Boolean, System.Action`1[System.Action])
System.Data.SqlClient.SqlException (0x80131904): SQLError 16
   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.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted)
   bei System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest)
   bei System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
   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 JTL.Database.DbCommandExtensions.ExecuteNonQuery(IDbCommand command, Byte[] contextInfo)
   bei JTL.Database.DbConnectionExtensions.<>c__DisplayClass23_0.<ExecuteNonQuery>b__0(IDbConnection con)
   bei JTL.Database.DbConnectionExtensions.<>c__DisplayClass5_0`1.<Execute>b__0()
   bei JTL.Database.DbConnectionExtensions.HandleError[T](IDbConnection connection, Func`1 action)
   bei JTL.Database.DbConnectionExtensions.Execute[T](IDbConnection connection, Func`2 func, ConnectionBehavior behavior)
   bei JTL.Database.DbConnectionExtensions.ExecuteNonQuery(IDbConnection connection, IDbCommand command, Byte[] contextInfo)
   bei jtlDatabase.classes.jtlDBClasses.StoredProcedures.spAdresseUpdate(IEnumerable`1 DatenAdresse, Byte[] contextInfo)
   bei jtlDatabase.classes.jtlDBClasses.jtlKunde.bbNl9954CIi()
   bei jtlDatabase.classes.jtlDBClasses.jtlKunde.updateInDB()
   bei ameise.importer.Importer_Kundendaten.doWork()
   bei ameise.forms.subforms.import_main.DoImport(BackgroundWorker worker)
   bei ameise.forms.subforms.import_main.bgWorker_DoWork(Object sender, DoWorkEventArgs e)
ClientConnectionId:449d58a1-705a-4bb5-bbde-7c8d58140fc8
Fehlernummer (Error Number):50000,Status (State):1,Klasse (Class):18
SQL-Fehlerinformationen: [WAWI\SQLEXPRESS .Net SqlClient Data Provider] Fehler #50000 (Klasse 18) in Zeile 36: SQLError 16  dbo.spRaiseError
HelpLink.ProdName = Microsoft SQL Server
HelpLink.ProdVer = 14.00.2027
HelpLink.EvtSrc = MSSQLServer
HelpLink.EvtID = 50000
HelpLink.BaseHelpUrl = http://go.microsoft.com/fwlink
HelpLink.LinkId = 20476
ConnectionString = Data Source=WAWI\SQLEXPRESS;Initial Catalog=eazybusiness;Integrated Security=False;Persist Security Info=True;User ID=jtl-wawi;Password=******************;MultipleActiveResultSets=True;Connect Timeout=120;Application Name="JTL-Wawi C# - Administrator (1)";Current Language=German;ConnectRetryCount=15
CommandText = dbo.spAdresseUpdate
Parameter @DatenAdresse = {
{kAdresse = xxxx
kInetAdresse = NULL
xFlag_kInetAdresse = NULL
kKunde = xxxxxx
xFlag_kKunde = True
cFirma = ''
xFlag_cFirma = NULL
cAnrede = 'xxxxxx'
xFlag_cAnrede = NULL
cTitel = ''
xFlag_cTitel = NULL
cVorname = 'xxxxxx'
xFlag_cVorname = NULL
cName = 'xxxxxx'
xFlag_cName = NULL
cStrasse = 'xxxxxx'
xFlag_cStrasse = NULL
cPLZ = 'xxxxxx'
xFlag_cPLZ = NULL
cOrt = 'xxxxxx'
xFlag_cOrt = NULL
cLand = 'xxxxxx'
xFlag_cLand = NULL
cTel = 'xxxxx'
xFlag_cTel = NULL
cZusatz = ''
xFlag_cZusatz = NULL
cAdressZusatz = ''
xFlag_cAdressZusatz = NULL
cPostID = ''
xFlag_cPostID = NULL
cMobil = ''
xFlag_cMobil = NULL
cMail = 'xxx@xxx.xxx'
xFlag_cMail = NULL
cFax = ''
xFlag_cFax = NULL
cBundesland = ''
xFlag_cBundesland = NULL
cISO = 'AT'
xFlag_cISO = NULL
nStandard = 1
xFlag_nStandard = NULL
nTyp = 1
xFlag_nTyp = NULL
cUstId = ''
xFlag_cUstId = NULL
}
}
Parameter @RETURN_VALUE = -4
LineNr = 36
Codefragment =
WasHandled = True

Zeitstempel: 2020-02-06T00:37:27
Locale: German (Germany)
Locale: German (Germany)
Version: 1.5.14.2
Plattform: Ameise
WawiSeed: 1.3.40691.29001
Versionshash: 57BEB2B1
Prozessname: JTL-wawi-ameise
Physikalischer Speicher: 135544832 / Peak: 137621504
Basispriorität: 8
Prioritätsklasse: Normal
CPU-Zeit (User): 0:00:11,9375
CPU-Zeit (System): 0:00:36,984375
Page-Size (Sytem): 1258856 / Peak: 122404864
Page-Size: 114524160 / Peak: 122404864
Offene Handles: 1270
Unsere Ameise Importvorlage sieht wie folgt aus:
Code:
Import von Kundendaten, 06.02.2020 00:34:07, Version: 984
Dateiformat: CSV (Spaltenbegrenzer: Semikolon ( ; ), Quote: ", Escape: " ab Zeile 0, Kopfzeile enthalten

Feldzuordnungen
---------------
Kundennummer                  [4] foobar_id                   
Interner Schlüssel            [1] id                       
Vorname                       [2] firstname                 
Nachname                      [3] lastname                 
E-Mail                        [5] email                     
Erstellt am                   [6] created_at               

Präfixe / Suffixe
-----------------

Standardwerte
-------------
Land / ISO (2-stellig)        AT
Rabatt                        0
Kassenkunde                   Y
Gesperrt                      N
Drittland                     0
Land / ISO (2-stellig) LieferadresseAT

Einstellungen
-------------
Datei Encoding auswählen                          : UTF-8
Importart                                         : Neue Kunden importieren, Vorhandene aktualisieren
Identifizierung der zu aktualisierenden Kunden anhand: Emailadresse
Kundennummern automatisch vergeben, falls nicht vorhanden: Nein, Kunden ohne Kundennummer nicht importieren
Aktualisierung von Kontodaten eines Kunden        : bestehende beibehalten, neue hinzuimportieren

Standardkundengruppe: Foobar ID

Standardkategorie: Foobar

Standardsprache: Deutsch

Standardzahlungsart: Bar
Bitte könnt ihr euch das einmal anschauen und uns mitteilen wie wir das am schnellsten beheben können. Wir sind auf der aktuellsten JTL Version und haben auch die Datanbank optimieren und bereinigen lassen.
Vielen Dank und viele Grüße
 

Enrico W.

Administrator
Mitarbeiter
27. November 2014
4.022
490
Kennst Du Dich ein wenig mit SQL-Abfragen aus? Wenn ja, könntest Du bitte mal
select * from tSqlErrorMessages
absetzen und das Ergebnis in eine Antwort oder PN hängen? Am besten in eine Textdatei gespeichert.

Wenn Du Dich damit nicht auskennst, dann bitte ein Supportticket aufmachen, dann kümmern sich die Kollegen darum.
 

foxship

Neues Mitglied
28. August 2019
3
0
Ich habe eine Antwort von unserem Support- Ticket bekommen. Das Problem ist, dass man bei einem Import die internen Schlüssel nicht mehr mappen darf. Seit irgend einem Update führt das zu Problemen und auch in späterer Folge zu Datenverlust bei bestellungen. Jetzt wo wir das nicht mehr mappen funktioniert alles wie gewünscht.
 

Enrico W.

Administrator
Mitarbeiter
27. November 2014
4.022
490
Vielen Dank für die Rückmeldung. Ich gehe davon aus, dass die Kollegen das auch direkt an die Entwicklung weitergeleitet haben.