Jump to content
Sign in to follow this  
joes1609

Arithmetischer Überlauffehler beim Konvertieren

Recommended Posts

Hallo,

bin neu im Forum und habe da mal ein Problem,

 

Habe eine Prozedur, die diverse Werte mit 'sp_executesql' berechnet.

 

Wenn ich den benötigten Datumswert als String übergebe läuft das Script ohne Probleme, aber sobald ich die Werte aus einer anderen Tabelle abhole und konvertiere, bekomme ich bei der Ausführung folgende Fehlermeldung:

 

Meldung 8115, Ebene 16, Status 2, Zeile 1

Arithmetischer Überlauffehler beim Konvertieren von expression in den datetime-Datentyp.

 

Hier mal der entsprechende Code dazu:

 

Declare @vonDate datetime;

Declare @BisDate datetime;

 

 

select top (1) @VonDate = Von, @BisDate = Bis from tb_Zeitraum order by id desc

 

set @attrlist = 'path, depth, ds, o, knotenid, von, bis, duration_min, s_total_min, s_fail_min, s_avail';

set @tablename = 'tb_L9_Ergebnis_ApplMain';

 

set @gt = 'GetTree (' + convert(varchar, @knotenid) + ', ' + convert(varchar, @startknotenid) + ', 1, '

set @gt = @gt + convert(varchar, @vonDate, 112) + ', ' + convert(varchar,@bisDate, 112) + ', ' + '''''' + ')';

--set @gt = @gt + '''20100801''' + ', ' + '''20100901''' + ', ' + '''''' + ')';

set @s2 = N'insert into ' + @tablename + ' (' + @attrlist + ') select ' + @attrlist + ' from ' + @gt + ' order by path, depth, knotenid, o'

 

exec sp_executesql @s2

 

Wenn ich nun anstatt set @gt + @gt + convert....

die auskommentierte Zeile verwende funktioniert das ohne Probleme.

 

Würde mich über Hilfe sehr freuen.

 

Jörg

Share this post


Link to post

Sorry,

 

Ich habe mir keinen zusammengebauten String, der mit sp_executesql aufgerufen wir,sondern ein SQL-Statement erstellt, damit hat dann das konvertieren wunderbar funktioniert.

 

Declare @vonDate datetime;

Declare @BisDate datetime;

 

 

select top (1) @VonDate = Von, @BisDate = Bis from tb_Zeitraum order by id desc

 

Insert Into Tabelle (path, depth, ds, o, knotenid, von, bis, duration_min, s_total_min, s_fail_min, s_avail)

Select path, depth, ds, o, knotenid, von, bis, duration_min, s_total_min, s_fail_min, s_avail

From GetTree (knotenid, startknotenid, 1, convert(varchar, @vonDate, 112), convert(varchar, @bisDate, 112), '';

 

So funktioniert es.

Share this post


Link to post
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte überlege Dir, ob es nicht sinnvoller ist ein neues Thema zu erstellen.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

Werbepartner:



×
×
  • Create New...