Updatefehler bei DB Feld

21/02/2009 - 19:49 von Carsten Ilwig | Report spam
Hi Leute,

ich versuche vergeblich beim MS-SQL Server 2000 einem Feld, welches in einem
berechneten Feld verwendet wird, einen Wert zuzuweisen.
Egal, wie ich es anstelle, ich bekomme immer folgenden Fehler:

"Fehler bei UPDATE, da die folgenden SET-Optionen falsche Einstellungen
aufweisen: 'ARITHABORT'."

So habe ich es versucht:

"SET ARITHABORT ON UPDATE tabelle SET feldName = 'xyz"
geht auch nicht
"SET ARITHABORT OFF UPDATE tabelle SET feldName = 'xyz"

Setze ich den Wert für ein Feld, welches nicht in einer berechneten Spalte
verwendet wird, funktioniert es einwandfrei.
Es funktioniert auch fehlerlos, wenn ich den Updatebefehl im "SQL Query
Analyzer" ausführe.
Da muss ich "SET ARITHABORT ON" nicht einmal mit aufrufen.

Was mache ich falsch??


Vielen Dank für Eure Hilfe
Carsten
 

Lesen sie die antworten

#1 Peter Fleischer
21/02/2009 - 20:59 | Warnen spam
"Carsten Ilwig" schrieb im Newsbeitrag
news:

ich versuche vergeblich beim MS-SQL Server 2000 einem Feld, welches in
einem berechneten Feld verwendet wird, einen Wert zuzuweisen.
Egal, wie ich es anstelle, ich bekomme immer folgenden Fehler:

"Fehler bei UPDATE, da die folgenden SET-Optionen falsche Einstellungen
aufweisen: 'ARITHABORT'."

So habe ich es versucht:

"SET ARITHABORT ON UPDATE tabelle SET feldName = 'xyz"
geht auch nicht
"SET ARITHABORT OFF UPDATE tabelle SET feldName = 'xyz"

Setze ich den Wert für ein Feld, welches nicht in einer berechneten Spalte
verwendet wird, funktioniert es einwandfrei.
Es funktioniert auch fehlerlos, wenn ich den Updatebefehl im "SQL Query
Analyzer" ausführe.
Da muss ich "SET ARITHABORT ON" nicht einmal mit aufrufen.

Was mache ich falsch??


Ž
Hi Carsten,
die von dir beschriebene Information reicht nicht aus. Ein einfacher Test
zeigt, dass das, was du beschrieben hast, problemlos funktioniert:

Using cn As New SqlConnection(My.Settings.cnTest)
Dim cmd As New SqlCommand("", cn)
With cmd
Try
cn.Open()
Try
Console.WriteLine(" Drop Table")
.CommandText = "DROP TABLE xTab1"
Console.WriteLine(" DROP return code: {0}", .ExecuteNonQuery)
Catch ex As Exception
'Console.WriteLine("DROP execption: {0}", ex.Message)
End Try
Console.WriteLine(" Create Table")
.CommandText = "CREATE TABLE xTab1(ID int IDENtity(1,1) " & _
"CONSTRAINT [PK] PRIMARY KEY, " & _
"a float, b float, c AS a / b)"
Console.WriteLine(" CREATE return code: {0}", .ExecuteNonQuery)
Console.WriteLine(" Fill Tables with data")
.CommandText = "INSERT xTab1(a, b) VALUES(1, 2)"
Console.WriteLine(" INSERT return code: {0}", .ExecuteNonQuery)
.CommandText = "INSERT xTab1(a, b) VALUES(1, 2)"
Console.WriteLine(" INSERT return code: {0}", .ExecuteNonQuery)
.CommandText = "INSERT xTab1(a, b) VALUES(1, 3)"
Console.WriteLine(" INSERT return code: {0}", .ExecuteNonQuery)
.CommandText = "INSERT xTab1(a, b) VALUES(1, 3)"
Console.WriteLine(" INSERT return code: {0}", .ExecuteNonQuery)
.CommandText = "INSERT xTab1(a, b) VALUES(1, 2)"
Console.WriteLine(" INSERT return code: {0}", .ExecuteNonQuery)
.CommandText = "INSERT xTab1(a, b) VALUES(1, 2)"
Console.WriteLine(" INSERT return code: {0}", .ExecuteNonQuery)
.CommandText = "UPDATE xTab1 SET b = 0"
Console.WriteLine(" Update return code: {0}", .ExecuteNonQuery)
Catch ex As Exception
Console.WriteLine(ex.Message)
End Try
cn.Close()
End With
End Using

Viele Grüsse
Peter

Ähnliche fragen