Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Проблема с настройками клиента Oracle (а может еще чего-то)


Sonia ©   (2007-08-08 21:23:00) 

В общем вопрос несколько нестандартный...Сегодня столкнулась с такой проблемой, что запрос выбирает не все данные. Стала расбираться, оказалось, логика запроса тут ни причем. Ни причем также оказались и права пользователей на выборку данных из таблиц. Однако, на моем компьютере запрос работает и выбирает все, на остальных каких-то данных (причем не понятно по какому принципу!) не хватает. Я думаю, что дело в настройках клиента Oracle, может что-то не так в реестре.
У кого-то есть идеи?

Заранее спасибо!

ЗЫ. В чудеса не верю, но все же...


Sonia   (2007-08-10 09:08:00) [1]


> Desdechado ©   (09.08.07 19:53) [16]
> Fine Grained Access Control используется?

А что это ? :)


Desdechado   (2007-08-09 19:53:00) [2]

Fine Grained Access Control используется?


Игорь Шевченко   (2007-08-09 15:44:00) [3]


> А это не мой запрос, я бы так не написала :)


Ты это пользователям расскажи - они еще больше любить будут :)


Sonia   (2007-08-09 15:18:00) [4]


> Судя по запросу, вообще не понятно, как у нас самолеты ещё
> летают...:)))

А это не мой запрос, я бы так не написала :)


Johnmen   (2007-08-09 14:06:00) [5]


> Sergey13 ©   (09.08.07 13:25) [11]

Это происки америкосов - у них неделя с отдыха начинается :)

> Sonia ©

Судя по запросу, вообще не понятно, как у нас самолеты ещё летают...:)))


Sonia   (2007-08-09 13:55:00) [6]

Спасибо, я посмотрю.


Sergey13   (2007-08-09 13:25:00) [7]

> [6] Sonia ©   (09.08.07 11:34)
> (SA.MONDAY_ORG IS NOT NULL AND
>  TO_CHAR(SYSDATE + 2, 'D') = '1')

Вот у меня запрос
select sysdate+4, TO_CHAR(SYSDATE+4 , 'D') from dual
выдает (для MONDAY)
13.08.2007   2

Т.е. такое ощущение, что неделя начинается не с понедельника, а с воскресения. Это в Оракле, насколько я помню, рулится где то в параметрах NLS. Где точнее не скажу - на вскидку не помню, а ковыряться лень.


Sonia   (2007-08-09 12:44:00) [8]


> Игорь Шевченко ©   (09.08.07 12:26) [9]

Спасибо, попробую заменить. А может ли вообще формат представления даты мешать? (ну там через точку или через /) То есть в поле дата записанав одном формате, а системная берется в другом? И как это можно обойти?


Игорь Шевченко   (2007-08-09 12:26:00) [9]

Sonia ©   (09.08.07 12:19) [8]

Я, собственно, не вижу проблем из-за настроек даты, поскольку везде явно указан формат преобразования.
Что бы я предложил - это заменить SYSDATE на TRUNC(SYSDATE), чтобы время не вмешивалось (если оно не требуется), но, с третьей стороны, я в логику запроса не вникал, так что может, что и пропустил.


Sonia   (2007-08-09 12:19:00) [10]


> Игорь Шевченко ©   (09.08.07 12:16) [7]

Спасибо :)

Ну а все-таки, в чем может быть загвоздка касательно запроса? :)


Игорь Шевченко   (2007-08-09 12:16:00) [11]

Sonia ©   (09.08.07 11:34) [6]

Конкуренты...Ну пусть вас и дальше пользователи не любят :)


Sonia   (2007-08-09 11:34:00) [12]


SELECT
       CD.FLT,
       CD.FLN,
       CD.SHD,
       CD.FLC,
       CD.FLX,
       to_char(CD.PD1, 'HH24:MI') PD1,
       to_char(CD.PD2, 'HH24:MI') PD2,
       to_char(CD.PD0, 'HH24:MI') PD0,
       REPLACE(L.LOC_NAME_CYR, '"', '''') AIRPORT_NAME_0,
       REPLACE(L1.LOC_NAME_CYR, '"', '''') AIRPORT_NAME_1,
       REPLACE(L2.LOC_NAME_CYR, '"', '''') AIRPORT_NAME_2,
       to_char(CD.STA, 'HH24:MI') STA,
       CD.FST
FROM
       CURRENT_ARRIVALS  CD,
       LOCATIONS L,
       LOCATIONS L1,
       LOCATIONS L2
WHERE  
       TRUNC (CD.PD0,'DD') = TRUNC (SYSDATE + 2,'DD') AND
       CD.VI1 = L1.DME_CODE (+) AND
       CD.VI2 = L2.DME_CODE (+) AND
       CD.ORG = L.DME_CODE AND
       CD.TOF = 'М' AND
                CD.SST<>'SF'
UNION

SELECT
       SA.FLT ,
       SA.FLN,
       SA.SHD,
       SA.FLC,
       SA.FLX,
       to_char(SA.PD1, 'HH24:MI') PD1,
       to_char(SA.PD2, 'HH24:MI') PD2,
       to_char(SA.PD0, 'HH24:MI') PD0,
       REPLACE(L.LOC_NAME_CYR, '"', '''') AIRPORT_NAME_0,
       REPLACE(L1.LOC_NAME_CYR, '"', '''') AIRPORT_NAME_1,
       REPLACE(L2.LOC_NAME_CYR, '"', '''') AIRPORT_NAME_2,
       to_char(SA.FIRST_DATE, 'HH24:MI'),
       SA.FST
FROM
       SEASONAL_ARRIVALS SA,
       LOCATIONS L,
       LOCATIONS L1,
       LOCATIONS L2
WHERE
       SA.VI1 = L1.DME_CODE (+) AND
       SA.VI2 = L2.DME_CODE (+) AND
       SA.SHD IS NOT NULL AND
 SA.ORG= L.DME_CODE AND
 SA.FIRST_DATE < SYSDATE + 3 AND
 SA.LAST_DATE  >= SYSDATE + 2 AND
 SA.CANCELLED is null AND
 SA.OVM IS NOT NULL AND  
       SA.TOF = 'М' AND
 ((SA.SUNDAY_ORG IS NOT NULL AND
  TO_CHAR(SYSDATE + 2, 'D') = '7') OR
 (SA.MONDAY_ORG IS NOT NULL AND
  TO_CHAR(SYSDATE + 2, 'D') = '1') OR
 (SA.TUESDAY_ORG IS NOT NULL AND
  TO_CHAR(SYSDATE + 2, 'D') = '2') OR
 (SA.WEDNESDAY_ORG IS NOT NULL AND
  TO_CHAR(SYSDATE + 2, 'D') = '3') OR
 (SA.THURSDAY_ORG IS NOT NULL AND
  TO_CHAR(SYSDATE + 2, 'D') = '4') OR
 (SA.FRIDAY_ORG IS NOT NULL AND
  TO_CHAR(SYSDATE + 2, 'D') = '5') OR
 (SA.SATURDAY_ORG IS NOT NULL AND
  TO_CHAR(SYSDATE + 2, 'D') = '6'))


Причем, как я обнаружила ошибка (возможно) кроется в настройках по работе с датой


Sergey13   (2007-08-09 11:30:00) [13]

> [2] Sonia ©   (09.08.07 08:51)
> Мне выложить в форум запрос?

Выложи.


Sonia   (2007-08-09 11:27:00) [14]


> Вот за это пользователи и не любят программистов. И правильно
> не любят

Ну почему же :(


Игорь Шевченко   (2007-08-09 11:03:00) [15]


> Нет, не значит. Я лично открыла таблицы, проверила, данные
> есть. У меня на компьютере запрос всегда выполняется корректно,
>  как выполняю запрос на другом компьютере (даже используя
> свою админскую учетную запись!) постоянно чего-то не хватает,
>  причем я не могу выявить закономерности в недовыбранных
> даннных...


Вот за это пользователи и не любят программистов. И правильно не любят


Sonia   (2007-08-09 08:51:00) [16]


> Это значит, что эти неотобранные данные просто отсутствуют.

Нет, не значит. Я лично открыла таблицы, проверила, данные есть. У меня на компьютере запрос всегда выполняется корректно, как выполняю запрос на другом компьютере (даже используя свою админскую учетную запись!) постоянно чего-то не хватает, причем я не могу выявить закономерности в недовыбранных даннных...


> И где, кстати, сам запрос?

Всмысле где? Мне выложить в форум запрос?


Johnmen   (2007-08-08 21:56:00) [17]


> запрос выбирает не все данные.

Это значит, что эти неотобранные данные просто отсутствуют.
И где, кстати, сам запрос?


Наверх

Титульная страница Поиск, карта сайта Написать письмо