Query ricerca data, strano comportamento

lunedì 23 luglio 2007 - 09.33

elsinore Profilo | Junior Member

Ciao a tutti,

io ho un'applicazione che si connete ad un DB oracle.....sul pc dal quale mi connetto (praticamente da dove lancio visual studio) ho installato il client di oracle.... ora, la query che faccio è la seguente

SQLQueryString = "select DAT_FL, ESITO from HR.FLUSSI where NOME_FLUSSO = 'PAP123FF5' and ESITO ='ok' and DAT_FL between TO_DATE('23-Jul-2006') and TO_DATE('24-Jul-2007')"


da un altro pc, con la stessa versione del client di oracle, la stessa versione di visual studio, e lo stesso sistema operativo in inglese, la query non gli piace e la vuole così

SQLQueryString = "select DAT_FL, ESITO from HR.FLUSSI where NOME_FLUSSO = 'PAP123FF5' and ESITO ='ok' and DAT_FL between TO_DATE('23-Lug-2006') and TO_DATE('24-Lug-2007')"

con il mese in italiano!........

praticamente l'utente seleziona il mese "07" e nel programma lo converto in Jul.....o Lug...a seconda di dove compilo!

lbenaglia Profilo | Guru

>da un altro pc, con la stessa versione del client di oracle,
>la stessa versione di visual studio, e lo stesso sistema operativo
>in inglese, la query non gli piace e la vuole così

Hai verificato nelle Regional Options che lingua è impostata nei due casi?

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

elsinore Profilo | Junior Member

Ciao, mi correggo....

il sistema operativo sul quale vuole la query con la data in inglese...è appunto in inglese...però le regional option sono IT per tutti e due...
però non capisco....io al programma passo una stringa già composta..... è l'oracle client che fa lo schizzinoso?

lbenaglia Profilo | Guru

>il sistema operativo sul quale vuole la query con la data in
>inglese...è appunto in inglese...però le regional option sono
>IT per tutti e due...
>però non capisco....io al programma passo una stringa già composta.....
>è l'oracle client che fa lo schizzinoso?

Verifica l'impostazione della chiave di registry NLS_LANG (sul mio PC la trovo in HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraClient10g_home1).

Nel mio caso vale ITALIAN_ITALY.WE8MSWIN1252 (che corrisponde ai 3 parametri NLS_LANGUAGE = ITALIAN, NLS_TERRITORY = ITALY e NLS_CHARACTERSET = WE8MSWIN1252).

Probabilmente sui due PC questo parametro sarà impostato diversamente. Allinealo su tutte le macchine scegliendo una impostazione comune.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

killer Profilo | Newbie

sicuro che e la solita versione? spiccicata? e le impostazioni sono identiche da quello che hai a casa?...be se la data dell altro computer e ing e logico che la richieda cosi...io di solito lavoro con le date in formato numerico...premetto che di visual studio utilizzo solo visual c# e tra l altro nemmeno da tanto perche di solito non utilizzo mai editor grafici visuali...pero mi ha incuriosito e dato che avevo la possibilita di provarlo..be perche no..
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5