Avatar billede orca Nybegynder
22. juli 2002 - 22:24 Der er 5 kommentarer og
1 løsning

Datetime problem med Sql Server

Hej alle. Jeg prøver at oprette en ny record i min lokale SQL Server DB i min .NET side. Den får en gyldig dato (eks: "17-07-2002 12:14:42"), men returnerer følgende fejl: "The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value. The statement has been terminated". Hvis jeg prøver at lave en helt forkert værdi i stedet for en date får jeg en anden fejlbesked. Det underlige er, at jeg ikke har problemet på den rigtige web server, det er kun lokalt jeg har problemet :/.

Mvh Mark
Avatar billede neteffect Nybegynder
22. juli 2002 - 22:33 #1
Noget kunne tyde på, at de to servere har forskellige opsætninger for locale. Du bør i hvert fald selv sætte session.LCID for dit script (traditionel asp, jeg har ikke forstand på .net endnu)
Avatar billede orca Nybegynder
22. juli 2002 - 22:54 #2
Begge servere har de samme DB indstillinger, og serveropsætning er den samme (mht LCID). Hvad der endnu mere undrer mig, er at jeg godt kan indsætte den problematiske dato i sql serveren via Enterprise Manager, altså er datoen på ingen måde forkert. Nogen andre forslag?
Avatar billede odegaard Nybegynder
23. juli 2002 - 01:51 #3
Har du for sjovs skyld, forsøgt med en engelsk formatering af datoen?
Avatar billede orca Nybegynder
23. juli 2002 - 10:06 #4
odegård -> Det har jeg gjort nu, og har delvis fået løst problemet. Problemet forsvandt fra min lokale maskine efter at fodre den med engelsk formateret dato (Selvom en "getDate()" i SQL serveren returnerer en DK dato?). Men på webserveren forsvandt problemet først da jeg gav den en DK dato (igen returnerede getDate() også en DK dato).

Altså er problemet væk, men jeg undrer mig meget over hvad der gør forskellen, i og med begge SQL Servere er sat ens op, og begge forventer en DK dato.

Tak for svaret, smider du ikke lige et svar?

Mvh Mark
Avatar billede odegaard Nybegynder
23. juli 2002 - 11:24 #5
Det er vist nok din SQL-driver der skal sættes op tror jeg (ikke helt sikker). Jeg har ingen problemer med at benytte danske datoer på en SQL-server (der kører på en engelsk Win2000 med opsætning af danske datoer). Aner ikke hvad jeg har gjort for at den gør dette. Det gør den bare. Jeg har dog set på andre programmer der benytter samme DB, at de nogle gange får datoen i engelsk format, hvorfor det vel må være et klient-problem.
Avatar billede neteffect Nybegynder
23. juli 2002 - 11:38 #6
Det er en problemstilling jeg har hygget mig en del med i tidens løb. Min løsning er at sætte session.LCID=1033 (amerikansk), så indbyggede funktioner som datepart kan finde ud af, hvad der er dag og hvad der er måned. Dermed bliver problemstillingen reduceret til konvertering fra/til lokalt datoformat ifm med user input og formatering ved præsentation.

Desuden, husk at datoer i sql-statements skal være i amerikansk format, uanset alt muligt andet.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester