Fehler bei Tableupdate, wie finde ich den Schuldigen

09/05/2008 - 10:31 von tom knauf | Report spam
Moin, moin

ich habe eine (fremde) Tabelle auf MS Sql (Msde). Die Tabelle besteht aus
Datetimefeldern, Numerics , char und Textfeldern. Alle Felder sind auf Null
zulassen nein.

In Foxpro greife ich mit einer Remoteview auf die Daten zu. Die
Datetimefelder sind i.d.R. als Date gemapped. Die Textfelder sind
Memofelder.

Im Programm verwende ich "scatter name oData Blank", fülle einige Felder mit
neuen Werten (nicht alle) und schreibe sie mit "gather name odata" zurück.
Beim Tableupdate erhalte ich die Fehlermeldung vom SQL Server "NULL nicht
erlaubt".

Frage
Wie finde ich das verursachende Feld ?
Aerrors liefert da scheinbar nichts. Gibt es eine Sql Serverfunktion und
eine Überwachung ? (Wir haben natürlich auch SQL--Sever Vollversion hier)

Vielen Dank für Eure Hilfe
Tom
 

Lesen sie die antworten

#1 Holger Vorberg
09/05/2008 - 11:54 | Warnen spam
Hi,

ich tippe auf die Datetimefelder.
Dein "scatter name oData blank" erzeugt bei den Datetimefeldern leere
Felder.
Beim SQL Server gibt es aber keine "leeren" Datatimefelder, so wie du sie
von VFP kennst.
In diesem Fall wird wohl versucht ein NULL Wert in die DB zurückzuschreiben,
was aber lt. deiner Aussage bei keinem Feld, also auch bei den
Datetimefeldern nicht erlaubt ist. Wenn du also zulassen willst, dass in den
Datetimefelder auch mal "nichts" drin steht, dann solltest du dort NULL
Werte zulassen. NULL ist die üblich definition von "nichts". <g>

Tschüß,
Holger Vorberg


"tom knauf" schrieb im Newsbeitrag
news:g01252$ug2$03$
Moin, moin

ich habe eine (fremde) Tabelle auf MS Sql (Msde). Die Tabelle besteht aus
Datetimefeldern, Numerics , char und Textfeldern. Alle Felder sind auf
Null zulassen nein.

In Foxpro greife ich mit einer Remoteview auf die Daten zu. Die
Datetimefelder sind i.d.R. als Date gemapped. Die Textfelder sind
Memofelder.

Im Programm verwende ich "scatter name oData Blank", fülle einige Felder
mit neuen Werten (nicht alle) und schreibe sie mit "gather name odata"
zurück.
Beim Tableupdate erhalte ich die Fehlermeldung vom SQL Server "NULL nicht
erlaubt".

Frage
Wie finde ich das verursachende Feld ?
Aerrors liefert da scheinbar nichts. Gibt es eine Sql Serverfunktion und
eine Überwachung ? (Wir haben natürlich auch SQL--Sever Vollversion hier)

Vielen Dank für Eure Hilfe
Tom



Ähnliche fragen