Страница 2 из 4

Oracle 7.3 + Clarion 10.12104 SQL запрос

Добавлено: 20 Июнь 2017, 22:56
Дед Пахом
NULLS FIRST для всех полей запроса применяется.
Тут другое интересно, в доке Oracle написано, что если порядок сортировки не указан (ни ASC ни DESC явно), то по умолчанию используется ASC и NULLS LAST, а Clarion делает всё наоборот - NULLS FIRST.

Oracle 7.3 + Clarion 10.12104 SQL запрос

Добавлено: 20 Июнь 2017, 23:26
Shur
Дед Пахом писал(а): 20 Июнь 2017, 22:56 а Clarion делает всё наоборот - NULLS FIRST.
Боюсь предположить, что сделано это чисто ради единообразности с другими драйверами.

Oracle 7.3 + Clarion 10.12104 SQL запрос

Добавлено: 21 Июнь 2017, 8:42
SeeK
Установил Exclude Empty Keys.

ACCTURNS FILE,DRIVER('Oracle'),PRE(ACC3), BINDABLE, THREAD, EXTERNAL('')
C_ACCTURNS_PK KEY(ACC3:RN),OPT,PRIMARY

Результат не изменился.

P.s.
Задачу уже решил с помощью NetBeans 8.2, но интерес по решению на Clarion остался. :)

Oracle 7.3 + Clarion 10.12104 SQL запрос

Добавлено: 21 Июнь 2017, 10:02
kreator
SeeK писал(а): 21 Июнь 2017, 8:42 P.s.
Задачу уже решил с помощью NetBeans 8.2, но интерес по решению на Clarion остался.
Вы попробуйте на более ранних версиях Клариона. Возможно, на автомате Кларион добавляет. Есть ещё вариант, что в тексте руками дописано, но это конечно из области фантастики. К сожалению, сейчас Оракла под рукой нет, проверить не могу.

Oracle 7.3 + Clarion 10.12104 SQL запрос

Добавлено: 21 Июнь 2017, 11:20
Дед Пахом
А ключ PERSONAL не пробовал? Смотрим картинку.

Oracle 7.3 + Clarion 10.12104 SQL запрос

Добавлено: 21 Июнь 2017, 13:30
SeeK
Та я нашёл где. Еще вчера.
Не помогает. Да и Oracle Standard Edition 7.3.4.0.0 а не Personal Edition.
Работает только когда бровс ключ не использует.

Oracle 7.3 + Clarion 10.12104 SQL запрос

Добавлено: 21 Июнь 2017, 13:41
Shur
SeeK писал(а): 21 Июнь 2017, 8:42 Установил Exclude Empty Keys.

ACCTURNS FILE,DRIVER('Oracle'),PRE(ACC3), BINDABLE, THREAD, EXTERNAL('')
C_ACCTURNS_PK KEY(ACC3:RN),OPT,PRIMARY

Результат не изменился.
Чисто для очистки совести, может индексу ещё добавить и атрибут NAME('...'), если в Оракле он имеет другое имя?

Oracle 7.3 + Clarion 10.12104 SQL запрос

Добавлено: 21 Июнь 2017, 13:56
kreator
Shur писал(а): 21 Июнь 2017, 13:41 Чисто для очистки совести, может индексу ещё добавить и атрибут NAME('...'), если в Оракле он имеет другое имя?
Клариону по барабану названия индексов и т.д. В синтаксисе SQL они вообще не используются. И многие SQL сервера (если не все) даже не позволяют изменить имя первичного ключа. Так, для справки.

Oracle 7.3 + Clarion 10.12104 SQL запрос

Добавлено: 21 Июнь 2017, 14:12
SeeK
Суть в том, что (уже говорили) драйвер оракл генерирует запрос с изпользованием синтаксиса, который не понимает старый оракл. И вопрос в том, как управлять этой генерацией.

Oracle 7.3 + Clarion 10.12104 SQL запрос

Добавлено: 21 Июнь 2017, 18:36
Дед Пахом
Где-то должна быть отдельная документация по оракловому драйверу, а то в обычной доке куда ни сунешься, "Not valid with Oracle Accelerator"

Oracle 7.3 + Clarion 10.12104 SQL запрос

Добавлено: 21 Июнь 2017, 19:16
Ал
Дед Пахом писал(а): 21 Июнь 2017, 18:36 Где-то должна быть отдельная документация по оракловому драйверу, а то в обычной доке куда ни сунешься, "Not valid with Oracle Accelerator"
DatabaseDrivers.pdf :?:
... DRIVER ('Oracle','/PERSONAL') ...
не помогло?
посмотрел ссылки на odbc драйвера oracle - от 8 версии стартуют...(
DatabaseDrivers_63.zip
(783.85 КБ) 204 скачивания

Oracle 7.3 + Clarion 10.12104 SQL запрос

Добавлено: 21 Июнь 2017, 19:27
Ал
kreator писал(а): 20 Июнь 2017, 16:17
Дед Пахом писал(а): 20 Июнь 2017, 15:58 Personal Oracle 7.2 (Personal Oracle for Windows 95).
Вот это сильно. 7.3, наверно, недалеко ушёл. Откуда у Вас такие раритеты?
это не у него - из доки я так понял
COPYRIGHT 1994-2013 SoftVelocity Inc. All rights reserved.
This publication is protected by copyright and all rights are reserved by SoftVelocity Incorporated.
It may not, in whole or part, be copied, photocopied, reproduced, translated, or reduced to any
electronic medium or machine-readable form without prior consent, in writing, from SoftVelocity
Incorporated.
This publication supports Clarion. It is possible that it may contain technical or typographical
errors. SoftVelocity Incorporated provides this publication “as is,” without warranty of any kind,
either expressed or implied.

Oracle 7.3 + Clarion 10.12104 SQL запрос

Добавлено: 21 Июнь 2017, 23:28
Shur
Надежда умирает последней.
А что, если попробовать "вразумить" драйвер следующим образом:

Код: Выделить всё

DRIVER('ORACLE', '/ODBCCALL = TRUE')

Oracle 7.3 + Clarion 10.12104 SQL запрос

Добавлено: 22 Июнь 2017, 8:13
SeeK
Ал писал(а): 21 Июнь 2017, 19:16
... DRIVER ('Oracle','/PERSONAL') ...
не помогло?
Не помогло.

Oracle 7.3 + Clarion 10.12104 SQL запрос

Добавлено: 22 Июнь 2017, 8:45
SeeK
Clarion 6.3 с драйвером Oracle отрабатывает всё правильно.
SELECT A.RN, A."AUTHID", A.IDENT, A.COMPANY, A."DATE_FROM", A."DATE_TO", A.ACCOUNT FROM PARUS.ACCTURNS A ORDER BY A.RN
Без всяких nulls first.

P.s.
Clarion 8.0.0 Build 9759 всё работает.