Probleme mit Datums-Datentyp

01/11/2008 - 21:38 von Jan Welmann | Report spam
Hallo,
ich habe hier ein sehr seltsames Verhalten bei der Verwendung von
Datums-Typen in Abfragen.

Setup:
WinXP SP2 (in VMware)
SQL2005 (9.0.1399, eng)
Access2k3 (ohne SP, eng)

Wenn ich folgende Abfrage aus Access über rs.open öffne, bekomme ich den
Fehler: "The conversion of char data type to smalldatetime data type resulted
in an out-of-range smalldatetime value."

Abfrage:
SELECT * FROM T_SonstAufg WHERE Datum >= '01.01.2008' AND Datum <='31.01.2008'

Wenn ich aus der 31 eine 01 mache funktionierts, daher ist es naheliegend,
dass der SQL-Server die Datumsfelder als englische/us-amerikanische Daten
interpretiert. Seltsamerweise akzeptiert der selbe SQL-Server die Abfrage wie
sie oben steht, wenn ich sie im Management Studio in einer Query ausführe
(auf dem Host ausserhalb der VM, auf einem deutschen WinXP).

Ich nehme an die Lösung liegt darin, dem englischen Access zu sagen er soll
sich als deutsches Access ausgeben. Alle Versuche dahingehend (Locale ID in
Connection-Propertiers und alles was ich sonst noch finden konnte) sind
bisher nicht erfolgreich gewesen.

Hat jemand Hintergrundinformationen über was da passiert und wie der SQL den
zu verwendenden Sprachkontext festlegt?

Vielen Grüße,
Jan Welmann
 

Lesen sie die antworten

#1 Uwe Ricken
02/11/2008 - 10:12 | Warnen spam
Hallo Jan,
Ich nehme an die Lösung liegt darin, dem englischen Access zu sagen er
soll
sich als deutsches Access ausgeben. Alle Versuche dahingehend (Locale ID
in
Connection-Propertiers und alles was ich sonst noch finden konnte) sind
bisher nicht erfolgreich gewesen.



Vergiss' die Einstellungen, letztendlich hilft nur eine Lösung:
- Ein Format, dass Lànderneutral ist. Und da bleibt nur ISO.

Führe die Abfrage doch mal wie folgt von beiden Seiten (A2K und SSMS) aus
und Du wirst überrascht sein:

SELECT * FROM DeineTabelle WHERE Datum = '20081031'

Es wird von beiden Seiten funktionieren.
Versuche nach Möglichkeit, IMMER mit ISO zu arbeiten, dann ersparst Du dir
eine Menge Ärger und Lehrgeld (das haben wir nàmlich bei unserem ersten
Projekt (initernational) auch zahlen müssen ;-(

HTH ;-)


Gruß, Uwe Ricken
MCP for SQL Server 2000 Database Implementation

db-Berater GmbH - 64390 Erzhausen
http://www.db-berater.de
http://www.memberadmin.de
http://www.conferenceadmin.de
____________________________________________________
dbdev: http://www.dbdev.org
FAQ: http://www.donkarl.com/AccessFAQ.htm

Ähnliche fragen