Oracle 7.3 + Clarion 10.12104 SQL запрос
Модератор: Andrew™
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Oracle 7.3 + Clarion 10.12104 SQL запрос
Доброго здоровья всем !
Жизнь повернулась так, что нужно вернуться в молодость
Исходные данные:
- База Oracle 7.3;
- Clarion 10.12104 (из FTP);
- Драйвер Oracle;
Генерирую бровс по одной таблице (для начала), запускаю и получаю ошибку:
"Error: (ORA-00933: SQL command not properly ended (-933))"
Транслирую и вижу запрос:
"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"
И зачем мне этот "NULLS FIRST" ???
Собственно вопрос, есть ли возможность управлять SQL-запросом, а ещё лучше, где его вставить вручную при нативной генерации бровса ?
Заранее благодарен,
Степан.
Жизнь повернулась так, что нужно вернуться в молодость
Исходные данные:
- База Oracle 7.3;
- Clarion 10.12104 (из FTP);
- Драйвер Oracle;
Генерирую бровс по одной таблице (для начала), запускаю и получаю ошибку:
"Error: (ORA-00933: SQL command not properly ended (-933))"
Транслирую и вижу запрос:
"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"
И зачем мне этот "NULLS FIRST" ???
Собственно вопрос, есть ли возможность управлять SQL-запросом, а ещё лучше, где его вставить вручную при нативной генерации бровса ?
Заранее благодарен,
Степан.
-
- ✯ Ветеран ✯
- Сообщения: 4994
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 21 раз
Oracle 7.3 + Clarion 10.12104 SQL запрос
Степан, во-первых, если используете стандартный броуз, вручную генерить нет смысла. Во-вторых, проблема в "order by" - посмотрите индекс по которому броуз. "NULLS FIRST" это оракловая конструкция? Поменяйте индекс. Посмотрите, что в словаре по этой таблице написано. Был у меня опыт работы с Ораклом (совсем чуть-чуть), проблем не было, но и "NULLS FIRST" не помню.
Есть ещё подозрение. Может в "Actions" броуза на закладке "SQL Advanced" эта хрень прописано (не знаю зачем, но вдруг)?
Есть ещё подозрение. Может в "Actions" броуза на закладке "SQL Advanced" эта хрень прописано (не знаю зачем, но вдруг)?
We are hard at work… for you.
Oracle 7.3 + Clarion 10.12104 SQL запрос
"SQL Advanced" - пусто.
RN - Primary key.
PL/SQL Developer с "NULLS FIRST" тоже ошибку выдает, без него всё в порядке. Тупо убираю NULLS FIRST и всё работает.
NULLS FIRST/LAST используется для указания, где при сортировке должны быть значения NULL — в начале или в конце
RN - Primary key.
PL/SQL Developer с "NULLS FIRST" тоже ошибку выдает, без него всё в порядке. Тупо убираю NULLS FIRST и всё работает.
NULLS FIRST/LAST используется для указания, где при сортировке должны быть значения NULL — в начале или в конце
- Дед Пахом
- Старичок
- Сообщения: 3136
- Зарегистрирован: 07 Июль 2005, 16:51
- Откуда: Москва, Россия
- Благодарил (а): 11 раз
- Поблагодарили: 31 раз
- Контактная информация:
Oracle 7.3 + Clarion 10.12104 SQL запрос
Посмотрите, как сгенерилось описание таблицы (FILE DRIVER('Oracle', bla-bla)...), может какие хинты драйвера Оракла добавились.
С уважением, ДП
Oracle 7.3 + Clarion 10.12104 SQL запрос
Вроде ничего криминального:
ACCTURNS FILE,DRIVER('Oracle'),PRE(ACC3),BINDABLE,THREAD,EXTERNAL('')
C_ACCTURNS_PK KEY(ACC3:RN),PRIMARY
I_ACCTURNS_IDENT KEY(ACC3:IDENT),DUP
Record RECORD,PRE()
RN PDECIMAL(15)
AUTHID CSTRING(31)
IDENT PDECIMAL(15)
...
ACCTURNS FILE,DRIVER('Oracle'),PRE(ACC3),BINDABLE,THREAD,EXTERNAL('')
C_ACCTURNS_PK KEY(ACC3:RN),PRIMARY
I_ACCTURNS_IDENT KEY(ACC3:IDENT),DUP
Record RECORD,PRE()
RN PDECIMAL(15)
AUTHID CSTRING(31)
IDENT PDECIMAL(15)
...
Oracle 7.3 + Clarion 10.12104 SQL запрос
Когда в File-Browsing List Box ставлю No Key, вот тогда работает и генерит "SELECT A.RN, A."AUTHID", A.IDENT, A.COMPANY, A."DATE_FROM", A."DATE_TO", A.ACCOUNT FROM PARUS.ACCTURNS A" без ORDER BY. Но это не совсем то.
Видать только палцАми.
Видать только палцАми.
-
- ✯ Ветеран ✯
- Сообщения: 4994
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 21 раз
Oracle 7.3 + Clarion 10.12104 SQL запрос
Меня смущает тип поля RN - pdecimal. Наверно, не криминал. В Оракле какой тип? Поменяйте в словаре для теста на LONG.
We are hard at work… for you.
Oracle 7.3 + Clarion 10.12104 SQL запрос
RN в Oracle описан как NUMBER. При импорте в словарь Clarion - pdecimal. Меняю на LONG ситуация аналогична.
Только когда убираю ключ, соответственно исчезает из запроса ORDER BY NULLS FIRST.
Только когда убираю ключ, соответственно исчезает из запроса ORDER BY NULLS FIRST.
- Дед Пахом
- Старичок
- Сообщения: 3136
- Зарегистрирован: 07 Июль 2005, 16:51
- Откуда: Москва, Россия
- Благодарил (а): 11 раз
- Поблагодарили: 31 раз
- Контактная информация:
Oracle 7.3 + Clarion 10.12104 SQL запрос
А почему? Вроде бы штатная конструкция?SeeK писал(а): ↑20 Июнь 2017, 11:22PL/SQL Developer с "NULLS FIRST" тоже ошибку выдает
С уважением, ДП
-
- ✯ Ветеран ✯
- Сообщения: 4994
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 21 раз
Oracle 7.3 + Clarion 10.12104 SQL запрос
Ну, понятно.
Попробуйте в методе ApplyOrder после Parent Call посмотреть view{prop:SQLOrder}, view, понятно, какая там у Вас. В принципе здесь можно попробовать подсунуть нужный order by.
Конструкции NULLS FIRST и NULLS LAST впервые появились в версии Oracle 8.1.6.
Oracle дюже старый, может этот текст современный драйвер на автомате генерит.
NoteBox.jpg
Personal Oracle 8.0 and higher only works with 32-bit programs.
Попробуйте в методе ApplyOrder после Parent Call посмотреть view{prop:SQLOrder}, view, понятно, какая там у Вас. В принципе здесь можно попробовать подсунуть нужный order by.
We are hard at work… for you.
Oracle 7.3 + Clarion 10.12104 SQL запрос
Та я в курсе, что оракл 7.3 не поддерживает конструкцию NULLS FIRST.
Вопрос изначально был, как управлять SQL запросом при нативной генерации бровса.
Kreator, огромное спасибо !!!
BRW1::View:Browse{prop:SQLOrder}='A.RN' то, что доктор прописал
Результат:
"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"
Вопрос изначально был, как управлять SQL запросом при нативной генерации бровса.
Kreator, огромное спасибо !!!
BRW1::View:Browse{prop:SQLOrder}='A.RN' то, что доктор прописал
Результат:
"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"
- Дед Пахом
- Старичок
- Сообщения: 3136
- Зарегистрирован: 07 Июль 2005, 16:51
- Откуда: Москва, Россия
- Благодарил (а): 11 раз
- Поблагодарили: 31 раз
- Контактная информация:
Oracle 7.3 + Clarion 10.12104 SQL запрос
А вот это не подойдёт?
The Personal Oracle 7.1 Server behaves differently than other Oracle servers. When using Personal Oracle 7.1 you should inform Oracle Accelerator so it can tailor the generated SQL especially for Personal Oracle 7.1. For example:
DRIVER ('Oracle','/PERSONAL')
or
SEND (Myfile,'/PERSONAL')
Notes:
The /PERSONAL switch is not required for Personal Oracle 7.2 (Personal Oracle for Windows 95).
Personal Oracle 8.0 only works with 32-bit programs.
С уважением, ДП
-
- ✯ Ветеран ✯
- Сообщения: 4994
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 21 раз
Oracle 7.3 + Clarion 10.12104 SQL запрос
Ожидаемо заработало. Только это временная удача. На всех экранах такой хернёй заниматься? Это во-первых. Во-вторых, почему-то Клаша не любит prop:SQLOrder. Сталкивался я с проблемами при изменении сортировки (разные закладки с разной сортировкой), перестаёт реагировать на prop:SQLOrder. Казалось бы чушь, но вот так. Подробностей не воспроизведу. И ораклового драйвера это может не касаться. У меня на ФБ проблемы.
We are hard at work… for you.
-
- ✯ Ветеран ✯
- Сообщения: 4994
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 21 раз
Oracle 7.3 + Clarion 10.12104 SQL запрос
Вот это сильно. 7.3, наверно, недалеко ушёл. Откуда у Вас такие раритеты?
We are hard at work… for you.
Oracle 7.3 + Clarion 10.12104 SQL запрос
А никого разве не смутило, что для primary key подаётся какая-то инструкция NULLS FIRST? Их [NULL'ов] там по определению быть не может.
Смотрю объявление ключа
Может в этом причина?
Смотрю объявление ключа
и что-то не нахожу атрибута OPT.
Может в этом причина?