Seite 1 von 1

Insert mit Conversion error

Verfasst: Di, 18. Jul 2023 17:04
von Manfred

Code: Alles auswählen

INSERT INTO mandanten (gebdat,
	 	 		 	  		 idgeschlecht,
							 idschule,
							 klasse,
							 name,
							 ort,
							 plz,
							 strasse,
							 vorname)
SELECT CToD(dtm.gebdatum),
	   dtm.m_w,
	   schu.id AS idschule,
	   dtm.klasse,
	   dtm.name,
	   dtm.ort,
	   dtm.plz,
	   dtm.strasse,
	   dtm.vorname
from dt_mandanten dtm
LEFT JOIN schulen schu ON schu.nummer=dtm.schulnr
LEFT JOIN schultraeger st ON st.id = schu.idtraeger
WHERE st.nummer = dtm.schultraeg
dieser Befehl übernimmt Sätze, bricht aber ab bevor er fertig ist mit der Meldung
poQuery: Error 7200: AQE Error: State = 07006; NativeError = 2109; [SAP][Advantage SQL Engine]Conversion error
wenn ich auf das Ende der Zieltabelle gehe und dann schaue was da für ein Satz ist, dann ist der nicht identisch mit dem, der an der Stelle in der Ursprungstabelle steht. Also kann ich auch nicht sehen, wo der Fehler auftritt. Wie kann ich ermitteln, warum der ADS (Architect) meckert?

Re: Insert mit Conversion error

Verfasst: Di, 18. Jul 2023 17:34
von nightcrawler
führe erst den SELECT aus und schaue, welche Datentypen zurückkommen. Stimmen die überein? Gibt es vllt ein leeres GebDat?

Re: Insert mit Conversion error

Verfasst: Di, 18. Jul 2023 20:11
von Marcus Herz
dieser Befehl übernimmt Sätze, bricht aber ab bevor er fertig ist mit der Meldung
Meist ist das ein NULL Problem

Re: Insert mit Conversion error

Verfasst: Mi, 19. Jul 2023 7:36
von Manfred
Danke, ich falle immer wieder darauf rein. Da hat jemand in der ursprünglichen csv Datei 00.00.1900 eingetragen. Was für ein Vollpfosten. Ist bei der menge der Sätze nicht aufgefallen.

Re: Insert mit Conversion error

Verfasst: Mi, 19. Jul 2023 9:51
von komnick
Ich glaube nicht, dass ein Mensch die 00.00.1900 eingetragen hat.
Wenn ich in Excel z.B. auf leere Datumsfelder =MAX(..) anwende, kommt 00.01.1900 heraus.

Re: Insert mit Conversion error

Verfasst: Mi, 19. Jul 2023 9:53
von Manfred
das war eine CSv Datei. Der Kunde hat die ursprüngliche Excel Datei geöffnet und da stand dann auch 01.01.1900 drin. Ist aber alles falsch eingetragen worden, weil jeder mut Cut & paste Daten aus anderen Teilen da reingefügt hat.Und irgendwann hat sich irgendwas verschluckt.