Avatar billede horsmark Nybegynder
03. marts 2001 - 22:33 Der er 29 kommentarer og
1 løsning

SQLdato på ORACLE

Microsoft OLE DB Provider for ODBC Drivers fejl \'80004005\'
[Microsoft][ODBC driver for Oracle][Oracle]ORA-01840: input value not long enough for date format

/HorsMark_asp/PPRIM_oracle_db_connection_Spgskema_test.asp, linje 219


...mit SQL lyder som følgende

strGetResponseSQL = \"SELECT SPMSKEMA_ID, SPM_ID, SVAR_ID, RESPONS_DATO FROM KAMP.MDB_KUNDE_RESPONS WHERE (SPMSKEMA_ID = \'\" & SPMSKEMA_ID & \"\' AND SPM_ID = \'\" & objRS_1(\"SPM_ID\") & \"\' AND SVAR_ID = \'\" & objRS_4(\"SVAR_ID\") & \"\' AND RESPONS_DATO = \'1111-11-11\')\"

jeg har lavet en response.write på respons_dato og den kommer med eks. 31-10-98

Hvor kokser det?
Avatar billede horsmark Nybegynder
03. marts 2001 - 22:35 #1
Har prøvet følgende

RESPONS_DATO = \'31-10-98\'
RESPONS_DATO = \'31-10-1998\'
RESPONS_DATO = \'#31-10-98#\'
RESPONS_DATO = \'#31-10-1998#\'

Selvom jeg er rimeligt sikker på at # er til acces db´s
Avatar billede horsmark Nybegynder
03. marts 2001 - 22:36 #2
mon der er skjulte mellemrum i datofeltet, hvis altså datofeltet er oprettet på oraclen som tekstfelt?
Avatar billede tpiil Nybegynder
04. marts 2001 - 00:08 #3
prøv at fjerne \'
Avatar billede horsmark Nybegynder
04. marts 2001 - 00:09 #4
Microsoft][ODBC driver for Oracle][Oracle]ORA-00932: inconsistent datatypes
Avatar billede horsmark Nybegynder
04. marts 2001 - 00:10 #5
nope :-( please lidt flere bud ? ER TOTALT PRESSET!
Avatar billede tpiil Nybegynder
04. marts 2001 - 00:11 #6
er du sikker på at du har skrevet dato\'en på den korrekte måde??
Avatar billede tpiil Nybegynder
04. marts 2001 - 00:12 #7
prøv 31/10/1998
Avatar billede horsmark Nybegynder
04. marts 2001 - 00:12 #8
1111-11-11 var bare en test men jeg brugte jo response.write RESPONS_DATO og fik 03-04-98 ??
Avatar billede horsmark Nybegynder
04. marts 2001 - 00:14 #9
..prøv 31/10/1998  genererer følgende fejl:

Microsoft][ODBC driver for Oracle][Oracle]ORA-01847: day of month must be between 1 and last day of month 
Avatar billede tpiil Nybegynder
04. marts 2001 - 00:14 #10
ved du hvad der står i db\'en??
Avatar billede horsmark Nybegynder
04. marts 2001 - 00:15 #11
jeg brugte jo response.write RESPONS_DATO og fik 03-04-98
Avatar billede tpiil Nybegynder
04. marts 2001 - 00:15 #12
10/31/1998
Avatar billede horsmark Nybegynder
04. marts 2001 - 00:16 #13
har også været ned og kigge i db´en via acces og der står det i dd-mm-yy format?
Avatar billede tpiil Nybegynder
04. marts 2001 - 00:16 #14
eller 10/31/98
Avatar billede horsmark Nybegynder
04. marts 2001 - 00:16 #15
10/31/1998 :
[Microsoft][ODBC driver for Oracle][Oracle]ORA-01843: not a valid month
Avatar billede tpiil Nybegynder
04. marts 2001 - 00:18 #16
31/10/98
Avatar billede horsmark Nybegynder
04. marts 2001 - 00:19 #17
prøvede lige en test mere:

04/04/04 hvor placeringen af dato og måned og år burde være underordnet!

Men jeg fik fejlen igen:
Microsoft][ODBC driver for Oracle][Oracle]ORA-01840: input value not long enough for date format
Avatar billede tpiil Nybegynder
04. marts 2001 - 00:20 #18
04/04/2001
Avatar billede horsmark Nybegynder
04. marts 2001 - 00:20 #19
Kan det have noget jeg fucker op i SQL´en og hvis ja hvordan angives datoformat? Kan jeg evt. kompilere dataerne fra DB´en og så sammenligne datoen med den brugeren har indtastet?
Avatar billede horsmark Nybegynder
04. marts 2001 - 00:21 #20
04/04/2001
->input value not long enough for date format
Avatar billede tpiil Nybegynder
04. marts 2001 - 00:23 #21
jeg har ikke oracle så jeg ved det ikke :(
Avatar billede horsmark Nybegynder
04. marts 2001 - 00:24 #22
ja æv... Men er det ikke underligt når jeg nu kan se i basen via acces at datoen står som dd-mm-yy og dette også fremkommer med en response.write?
Avatar billede tpiil Nybegynder
04. marts 2001 - 00:26 #23
jo, men oracle må jo være i engelsk format så derfor sakl du bruge noget engelsk noget :)
Avatar billede fuxi Nybegynder
04. marts 2001 - 00:26 #24
Hmmm nu er jeg ikke ligefrem specielt god til Oracle, men mon ikke der er en metode til at genererer en general mean time (GMT) det skulle da sikre at dine dato formater altid er korrekt mod databasen....

Jeg har fundet frem til noget på denne side
http://www.oracle.com/oramag/code/cod05289.html

Ellers kan du jo prøve at spørge SQL guruen på
http://www.4guysfromrolla.com

Held og lykke :0)
Avatar billede horsmark Nybegynder
04. marts 2001 - 00:27 #25
som jeg kan se har vi sku da prøvet det hele?
Avatar billede tpiil Nybegynder
04. marts 2001 - 00:29 #26
nææ 04-04-2001
Avatar billede horsmark Nybegynder
04. marts 2001 - 00:31 #27
nope samme fejl men jeg tror sq fuxi har løsningen.. (håber og be´r til de højere magter)

...PrØvEr SkÆlVeNdE
Avatar billede horsmark Nybegynder
04. marts 2001 - 01:21 #28
Yihaaaa

takker Fuxi :-)

Mvh.
HorsMark
Avatar billede horsmark Nybegynder
04. marts 2001 - 01:24 #29
( TO_CHAR( RESPONS_DATO  ,\'YYYYMMDD\') BETWEEN TO_CHAR(TO_DATE( \'01-01-1997\', \'DD/MM/YYYY\') ,\'YYYYMMDD\') AND TO_CHAR(  TO_DATE( \'04-04-2001\', \'DD/MM/YYYY\') ,\'YYYYMMDD\'))

Og det var løsningen :-)
Avatar billede tpiil Nybegynder
04. marts 2001 - 01:26 #30
godt jeg ikke har oracle :)
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
Kurser inden for grundlæggende programmering

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