select *from ja.pokaz_zestawienie
where data_zestawienia >= to_date('2007-06-01','YYYY-MM-DD')
uruchamiam na swoim motebooku - dziala, pokazuje zawartosc, uruchamiam
na innym - otrzymuję wspominany blad. o co chodzi?
A tak juz wyglada komunikat z aplikacji, ktora pobieram:
Get row failed for db statement.
Failed executing SQL.
Oracle Error: ORA-01722: invalid number
SQL: select *from ja.pokaz_zestawienie
where data_zestawienia >= to_date('2007-06-01','YYYY-MM-DD')
Parse Error Offset: 0
Może coś z ustawianiami NLS?
Spróbuj bartdziej szczegółowo określić datę, może zadziała :)
to_date('2007-06-01 00:00:00','YYYY-MM-DD HH24:MI:SS')
Pozdrawiam,
Maciek
> select *from ja.pokaz_zestawienie
> where data_zestawienia >= to_date('2007-06-01','YYYY-MM-DD')
> uruchamiam na swoim motebooku - dziala, pokazuje zawartosc, uruchamiam
> na innym - otrzymuję wspominany blad. o co chodzi?
Jaki jest typ kolumny data_zestawienia w widoku?
Pozdrowienia,
LW
Jeśli to jest widok, to sprawdziłbym w jego definicji czy nie ma konwersji
wartości tekstowej na numeryczna.
--
P.M.
typu data
nawet jesliby była to dlaczego ma innym kompie nie krzyczał? to jest
tu dizwne, na jednej stacji niezaleznie od uzytkownika system
(przynajmniej TOAD) wykonuje bezbłędnie, na innych nie - oczywiście na
tej samej bazie.
Pokzaż definicję widoku
Najprwdopodonbiejsza przyczyna, to konertujesz w widoku pole tekstowe do
numeru. W polu tekstowym masz jakiś separator miejsc dziesiętnych zgodny z
ustawieniem zmiennej NLS_NUMERIC_CHARACTER w kliencie oracle na Twoim
laptopie. U kolegi zmienna ta jest inna i stąd masz problem.
wykonaj u siebie i kolegi zapytanko:
select * from nls_session_parameters
i porównaj wartości
Pozdrawiam Adam
nawet jesliby była to dlaczego ma innym kompie nie krzyczał? to jest
tu dizwne, na jednej stacji niezaleznie od uzytkownika system
(przynajmniej TOAD) wykonuje bezbłędnie, na innych nie - oczywiście na
tej samej bazie.
Bo na każdym kompie możesz mieć inne ustawienia środowiskowe clienta
oraclowego
Pozdrawiam
Adam
Bo taki błąd zależy od danych a nie tylko od struktury. Ty u siebie możesz nie mieć danych
powodujących błąd.
--
P.M.
nie, dane sa na serwerze i oboje z kolega sciagamy z tego samego
widoku z tym samym filtrem ale siedząc przy dwóch różnych stanowiskach
i to jest problem, bo u mnie działa a u niego nie
Wykonaj u siebie i kolegi zapytanko:
select * from nls_session_parameters
i pokarz/porównaj wyniki
szczególnie parametr NLS_NUMERIC_CHARACTERS
Pozdrawiam
Adam
A, coś mi się przyczepiło, że każdy z was ma swoją bazę. W takim razie posłucha rady Adamma.
--
P.M.
tak tutaj był powód. u kolegi w
select * from nls_session_parameters
było NLS_NUMERIC_CHARACTERS =,. ( kropka i przecinek)
u mnie odwrotnie czyli przecinek i kropka, czyli z naszego na
anglojęzyczny.
ustawiłem
alter session set nls_numeric_characters = ',.'
u kolegi i chodzi - DZIĘKI ZA POMOC, NA PRZYSZŁOŚĆ TEZ SIĘ PRZYDA.
Tylko że to nie jest "odporne" rozwiązanie, bo kotś inny też może mieć
problem z czytaniem danych z tego widoku. Prawidłowo należało by przerobić
widok, tam gdzie masz konwersję tekstu do numeru i podać na sztywno
odpowiedni format przy konwersji
select to_number('123456.00','9999999999D99',' NLS_NUMERIC_CHARACTERS =
''.,'' ') from dual
select to_number('123456,00','9999999999D99',' NLS_NUMERIC_CHARACTERS =
'',.'' ') from dual
Zastosuj odpowiedni z dwóch w zależności czy masz kropke czy przecinek w
tekstowych polach
Pozdrawiam Adam
jano...@gmail.com napisał(a):
>
>
> nawet jesliby była to dlaczego ma innym kompie nie krzyczał? to jest
> tu dizwne, na jednej stacji niezaleznie od uzytkownika system
> (przynajmniej TOAD) wykonuje bezbłędnie, na innych nie - oczywiście na
> tej samej bazie.
może też być też właśnie przez toada.
toad pokazuje w zależności od ustawień pewną liczbę rekordów, dajmy
na to, że 100. jeśli te 100 będzie ok, a 101 zły, to nie będzie
informacji
o błędzie. wykonaj w toadzie zapytanie
select * from ta_view order by jakas_kol albo po prostu oglądając dane
z widoku sortuj po różnych kolumnach i pewnie wcześniej czy później
trafisz na ten błąd, przy założeniu, że właśnie w tym jest problem.
--
pozdr dipl
http://tarczaantyrakietowa.com/ "nudziłem się" i zrobiłem prościutki
katalog, możesz dopisać swoją stronkę, zapraszam
lp->pl i ".usunto" gdy chcesz do mnie odpisać.
Tak dokładnie się stało jak pisałeś wyżej - o tyle że gość sciągajacy
dane w soim systemie nie może przestawić parametru bo jest to
hurtownia pobierająca dane tez z innych systemów, więc rozwiązanie z
select to_number... sprawdizło sie znakomicie -dzięki raz jeszcze