Offen Woran scheitert mein XML Auftragsimport? (SQL Error -1)

stipps

Aktives Mitglied
3. Februar 2014
20
0
Hallo zusammen,

ich versuche derzeit Verzweifelt den Auftragsimport per XML zu realisieren.
Wawi Version 099922, Server ist Windows Server 2008R2, MSSQL 2012 SP1 Express.

Ich erstelle mein XML Dokument mit C#. Die Klassen die ich dafür nutze ist von der XSD die der Wawi beilag erstellt.
Alle Artikel und Kunden die hier importiert werden sollen sind bereits in der Datenbank vorhanden. Daher habe ich Anfangs versucht in der XML Datei lediglich die Kundenunmmer, Artikelnummern und Quantität zu hinterlegen. Der Import an sich ist hierbei durchgelaufen, allerdings wurde (obwohl der Kunde erkannt wurde, die Lieferadressen konnte ich nämlich einsehen) *jedes* Feld im Auftrag mit der Kundennummer ersetzt.

Als nächsten Versuch habe ich mich hingesetzt und versucht ein möglichst vollständiges XML Dokument abzuliefern, das dann folgendermaßen aussieht (Kundendaten sind hier natürlich verfälscht):

Code:
<?xml version="1.0" encoding="utf-8"?>
<tBestellungen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <tBestellung>
    <cSprache>ger</cSprache>
    <cWaehrung>EUR</cWaehrung>
    <fGuthaben>0</fGuthaben>
    <fGesamtsumme>0</fGesamtsumme>
    <cBemerkung />
    <dErstellt>2014-05-20</dErstellt>
    <fBezahlt>0</fBezahlt>
    <twarenkorbpos>
      <cName>Lyprinol - 60 Kapseln</cName>
      <cArtNr>109</cArtNr>
      <fPreisEinzelNetto>27.27</fPreisEinzelNetto>
      <fPreis>272.7</fPreis>
      <fMwSt>7</fMwSt>
      <fAnzahl>10</fAnzahl>
      <cPosTyp>standard</cPosTyp>
      <fRabatt>0</fRabatt>
    </twarenkorbpos>
    <twarenkorbpos>
      <cName>Lyprinol - 180 Kapseln</cName>
      <cArtNr>110</cArtNr>
      <fPreisEinzelNetto>70.6</fPreisEinzelNetto>
      <fPreis>706</fPreis>
      <fMwSt>7</fMwSt>
      <fAnzahl>10</fAnzahl>
      <cPosTyp>standard</cPosTyp>
      <fRabatt>0</fRabatt>
    </twarenkorbpos>
    <tkunde>
      <cKundenNr>21412</cKundenNr>
      <cAnrede>Herr</cAnrede>
      <cTitel />
      <cVorname>Thomas</cVorname>
      <cNachname>Mustermann</cNachname>
      <cFirma>Irgendeine Firma</cFirma>
      <cStrasse>Straße nummer</cStrasse>
      <cAdressZusatz />
      <cPLZ>08289</cPLZ>
      <cOrt>Schneeberg</cOrt>
      <cBundesland />
      <cLand>Deutschland</cLand>
      <cTel>+49 (35454545</cTel>
      <cMobil />
      <cFax>+49 (374545454</cFax>
      <cMail>apog@t-online.de</cMail>
      <cUSTID />
      <cWWW />
      <cNewsletter>Y</cNewsletter>
      <dGeburtstag />
      <fRabatt>0</fRabatt>
      <cHerkunft />
      <dErstellt>2014-05-20</dErstellt>
    </tkunde>
  </tBestellung>
</tBestellungen>

Ergebnis ist nun das der Import schlicht nicht mehr funktioniert. Zuerst bekomme ich 2 mal gesagt das Datumsformat sei falsch, danach kommt der folgende Fehler:
Code:
SQL Error -1 preforming exec
SQL State = 00000
 SQL Message=
Src:Execute

Weder das JTL-Wawi interne Logfile (über Globale Einstellungen) noch das ODBC Log weisen irgendwelche Einträge auf.

Könnte mir jemand einen Tipp geben was genau hier falsch läuft? :/

Gruß,

stipps
 

stipps

Aktives Mitglied
3. Februar 2014
20
0
AW: Woran scheitert mein XML Auftragsimport? (SQL Error -1)

Nachtrag: Nachdem ich das Wiki noch etwas durchsucht habe sei noch gesagt das die SQL-Instanz über einen Domain-User läuft, nicht über ein lokales Systemkonto.
 

Janusch

Administrator
Mitarbeiter
24. März 2006
13.921
264
AW: Woran scheitert mein XML Auftragsimport? (SQL Error -1)

Weder das JTL-Wawi interne Logfile (über Globale Einstellungen) noch das ODBC Log weisen irgendwelche Einträge auf.
Sobald die ODBC - Ablaufverfolgung aktiviert wurde, muss Wawi neu gestartet werden, damit neue DB-Verbindung aufgebaut wird, die protokolliert wird.
Danach sollte der Fehler dort drin zu finden sein.
 

ram1

Sehr aktives Mitglied
22. Juli 2009
1.116
7
AW: Woran scheitert mein XML Auftragsimport? (SQL Error -1)

Hier mal unsere XML, die wir via PHP generieren:

PHP:
<?xml version="1.0" encoding="iso-8859-1" ?>
<tBestellungen>
  <tBestellung kFirma="1">
    <cSprache>ger</cSprache>
    <cWaehrung>EUR</cWaehrung>
    <fGuthaben></fGuthaben>
    <fGesamtsumme></fGesamtsumme>
    <cBestellNr></cBestellNr>
    <cExterneBestellNr></cExterneBestellNr>
    <cVersandartName></cVersandartName>
    <cVersandInfo></cVersandInfo>
    <dVersandDatum></dVersandDatum>
    <cTracking></cTracking>
    <cLogistiker></cLogistiker>
    <dLieferDatum></dLieferDatum>
    <cKommentar></cKommentar><cBemerkung></cBemerkung>
    <dErstellt></dErstellt>
    <cZahlungsartName>Bar    </cZahlungsartName>
    <dBezahltDatum></dBezahltDatum>
    <fBezahlt>0.0</fBezahlt>    <twarenkorbpos>
      <cName></cName>
      <cArtNr>100</cArtNr>
      <cBarcode></cBarcode>
      <cSeriennummer></cSeriennummer>
      <cEinheit></cEinheit>
      <fPreisEinzelNetto>1.90</fPreisEinzelNetto>
      <fPreis></fPreis>
      <fMwSt>19</fMwSt>
      <fAnzahl>5</fAnzahl>
      <cPosTyp></cPosTyp>
    </twarenkorbpos>    <twarenkorbpos>
      <cName></cName>
      <cArtNr>900</cArtNr>
      <cBarcode></cBarcode>
      <cSeriennummer></cSeriennummer>
      <cEinheit></cEinheit>
      <fPreisEinzelNetto>12.60</fPreisEinzelNetto>
      <fPreis></fPreis>
      <fMwSt>19</fMwSt>
      <fAnzahl>1</fAnzahl>
      <cPosTyp></cPosTyp>
    </twarenkorbpos>    <tkunde kKunde="">
      <cKundenNr></cKundenNr>
      <cAnrede></cAnrede>
      <cTitel></cTitel>
      <cVorname></cVorname><cNachname>TEST</cNachname>
      <cFirma></cFirma>
      <cStrasse>Teststr. 1</cStrasse>
      <cAdressZusatz></cAdressZusatz>
      <cPLZ>12345</cPLZ>
      <cOrt>Wursthausen</cOrt>    
      <cBundesland></cBundesland>
      <cLand>Deutschland</cLand>
      <cTel>45465465</cTel>
      <cMobil></cMobil>
      <cFax></cFax>
      <cMail>ja@habich.de</cMail>
      <cUSTID></cUSTID>
      <cWWW></cWWW>
      <cNewsletter>N</cNewsletter>
      <dGeburtstag></dGeburtstag>
      <fRabatt>0.0</fRabatt>
      <cHerkunft></cHerkunft>
      <dErstellt></dErstellt>
      <tkundenattribute>
      <cName>Attribut1</cName>
      <cWert>Wert1</cWert>
      </tkundenattribute>
    </tkunde>
    <tlieferadresse kLieferadresse="">
      <cAnrede></cAnrede>
      <cVorname></cVorname>
      <cNachname>TEST</cNachname>
      <cTitel></cTitel>
      <cFirma></cFirma>
      <cStrasse>Hampeldamm 1</cStrasse>
      <cAdressZusatz></cAdressZusatz>
      <cPLZ>54321</cPLZ>
      <cOrt>Kasperville</cOrt>
      <cBundesland></cBundesland>
      <cLand>Deutschland</cLand>
      <cTel>46545646</cTel>
      <cMobil></cMobil>
      <cFax></cFax>
      <cMail>guckst@du.de</cMail>
    </tlieferadresse>
    <tzahlungsinfo>
      <cBankName></cBankName>
      <cBLZ></cBLZ>
      <cKontoNr></cKontoNr>
      <cKartenNr></cKartenNr>
      <dGueltigkeit></dGueltigkeit>
      <cCVV></cCVV>
      <cKartenTyp></cKartenTyp>
      <cInhaber></cInhaber>
    </tzahlungsinfo>
  </tBestellung>
</tBestellungen>

Nutzen wir produktiv (noch) seit Jahren bis 780, klappt aber auch bei 922.
 

stipps

Aktives Mitglied
3. Februar 2014
20
0
AW: Woran scheitert mein XML Auftragsimport? (SQL Error -1)

Okay, mit dem XML von ram1 scheint der Import zu klappen, vielen Dank! Wobei der Hauptunterschied zu sein scheint das bei meinem das kFirma Attribut in der Bestellung fehlt, sowie die Zahlungs- und Lieferinfo .. nunja. Ich werde das ergänzen.

Das ODBC Log wurde dann auch noch erstellt, neben den Fehlermeldungen zum Datum ist mir dieses ins Auge gefallen: DIAG [25000] [Microsoft][ODBC SQL Server Driver][SQL Server]Die COMMIT TRANSACTION-Anforderung hat keine entsprechende BEGIN TRANSACTION-Anweisung. (3902)
Wobei das in diesem Zusammenhang wahrscheinlich wenig Aussagekräftig ist.
 

Janusch

Administrator
Mitarbeiter
24. März 2006
13.921
264
AW: Woran scheitert mein XML Auftragsimport? (SQL Error -1)

Hallo,

sehe ich erst jetzt. Deine XML ist viel kleiner als die von ram1.
Alle Elemente müssen vorhanden sein und mit der xsd valide sein.
 

steffen89

Gut bekanntes Mitglied
28. Dezember 2014
118
1
AW: Woran scheitert mein XML Auftragsimport? (SQL Error -1)

Hallo,

ist auch ein Feld vorhanden um das AUftragsdatum zu übermitteln ?

EDIT: Hatte "Erstellt" übersehen

Aber wenn ich von einem Kunden nur Name und Adresse angebe, wird der Kunde doppelt angelegt wenn dieser vorhanden ist. Kann man dieses verhindern ohne die Kundennummer einzugeben ?
 

Janusch

Administrator
Mitarbeiter
24. März 2006
13.921
264
AW: Woran scheitert mein XML Auftragsimport? (SQL Error -1)

Hallo,

beim Import wird der Kudnendatensatz geprüft.

Sobald die Felder: Firma, Name, Vorname, Strasse, PLZ zu 100% übereinstimmen, wird der Kundendatensatz aus der Datenbank übernommen.
Sonst neu angelegt.
 

ram1

Sehr aktives Mitglied
22. Juli 2009
1.116
7
AW: Woran scheitert mein XML Auftragsimport? (SQL Error -1)

Da haben wir auch noch keine Lösung. Bestenfalls fällt es einem in der Wawi auf und man kann die unterschiedlichen Kundennummern zusammenführen. Unseren Kunden ist das aber bis jetzt auch noch nie aufgefallen das sie unterschiedliche Kundennummern haben bzw. es stört sie nicht.
 

steffen89

Gut bekanntes Mitglied
28. Dezember 2014
118
1
AW: Woran scheitert mein XML Auftragsimport? (SQL Error -1)

Hallo,

beim Import wird der Kudnendatensatz geprüft.

Sobald die Felder: Firma, Name, Vorname, Strasse, PLZ zu 100% übereinstimmen, wird der Kundendatensatz aus der Datenbank übernommen.
Sonst neu angelegt.

Hi

also ich habe das mal getestet und einen Auftrag 2 mal importiert. Also sind Name, Vorname, Straße und PLZ identisch. Trotzdem wurden 2 Kundendatensätze erstellt. Bei dem Feld "Bestehende Kundendaten aktualisieren" habe ich ein Häkchen gesetzt.
 

ram1

Sehr aktives Mitglied
22. Juli 2009
1.116
7
AW: Woran scheitert mein XML Auftragsimport? (SQL Error -1)

Kann ich bestätigen.

Dennoch werden wir zu dem Problem keine Zeit mehr investieren, da unsere Hoffnung auf den neuen Connectoren liegt.
 

ram1

Sehr aktives Mitglied
22. Juli 2009
1.116
7
AW: Woran scheitert mein XML Auftragsimport? (SQL Error -1)

Eine kleine Ergänzung:

Es wird bei Bestandskunden nur dann ein neuer Kundenstamm angelegt, wenn <cKundenNr> leer ist! Ist dort die gleiche Kundennummer eingetragen wie in der Wawi, dann klappt alles einwandfrei.