|
Oracle Forms 10 проблемы с функциями
|
|||
---|---|---|---|
#18+
Здравствуйте. Возникла такая проблема: В БД создала самую простенькую функцию, на вход которой передается одно значение. Тестирую данную функцию в PL/SQL Developer - работает корректно. Вставляю данную функцию в Forms и при компиляции вылетает ошибка "identifier название_функции must be declared". Функцию создавала в схеме, под которой и делаю компил формы. Forms к бд подконнектился, пользователь один и тот же. Создавала Data Blocks на таблицах этого пользователя Может быть кто-то знает как решить подобную проблему? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2018, 10:37 |
|
Oracle Forms 10 проблемы с функциями
|
|||
---|---|---|---|
#18+
Описывайте проблему как-то более понятно. А то без хрустального шара не понятно. White Fox...простенькую функцию... термин "простенкую" крайне не очевиден. Приведите Ваш код. Как минимум описание ф-ции. Нужно точно такую же, но с перламутровыми пуговицами ( С ) старый фильм White FoxВставляю данную функцию в Forms и при компиляции вылетает ошибка "identifier название_функции must be declared". Куда вставляете? В код пакета в Forms, в код тригера, в свойства поля, в овойства датаблока, в запрос для датаблока и так далее.... Ну и проверьте еще раз, что точно соединились с той же схемой и той же базой ))) ну и на всякий случай сделать дисконект и еще раз коннект ))) P.S. На мой взгляд, весь код хранить в пакетах (формы и сервер сайд) - крайне разумный и очень удобный бест практис. Городить помойку в БД из отдельно лежащий ф-ции и процедур - не очень хорошо. IMHO ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2018, 12:11 |
|
Oracle Forms 10 проблемы с функциями
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev, Описание функции: есть таблица, из которой выбирается несколько значений по переданному параметру. Функцию вставляю в код триггера. Чтобы потом не было каких-то претензий: триггер WHEN-BUTTON-PRESSED. Я уже несколько раз делала коннект и дисконнект, несколько раз проверила та же ли схема и все так, как и должно быть ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2018, 12:43 |
|
Oracle Forms 10 проблемы с функциями
|
|||
---|---|---|---|
#18+
Код. Как минимум заголовок: create function f1 ( param1 in number ) return number is .... тут же все станет понятно, какой у Вас тип параметров, какой тип результата, дополнительные фичи etc ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2018, 13:06 |
|
Oracle Forms 10 проблемы с функциями
|
|||
---|---|---|---|
#18+
White Foxсоздала самую простенькую функциюWhite FoxОписание функции: есть таблица, из которой выбирается несколько значений по переданному параметру."Простенькие" функции, - как правило, возвращают одно значение.. White Foxвылетает ошибка "identifier название_функции must be declared".Имхо, - нет прав или ошибка в название_функции. White FoxФункцию вставляю в код триггераКод триггера покажите? White FoxЯ уже несколько раз делала коннект и дисконнектА сам "билдер" перезапускать пробовали? Вспомнился анекдот: .. "- Фары протирал?! - Протирал! - По колесам стучал?! - Стучал! .." ) White FoxЧтобы потом не было каких-то претензийУ Oracle Forms? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2018, 13:21 |
|
Oracle Forms 10 проблемы с функциями
|
|||
---|---|---|---|
#18+
mRdUKE, Функция возвращает несколько значений, "склееных" в одну строку. Какие права надо дать на функцию, чтобы она спокойно выполнялась под пользователем, которому она принадлежит? И таблица, из которой выбираются данные, тоже принадлежит этому пользователю. Код триггера самый банальный: message(bd_cen.bd_cen#kat(izd)); Вот полный код функции: create or replace function bd_cen#kat(p_id_izd number) return сhar is izd char(300); cursor c1 s select k.kod||' '||k.ob||' '||k.nam from bd_cen.katalog k where k.id_kat=p_id_kat and sysdate between k.dat_a and k.dat_k; begin open c1; fetch c1 into izd; close c1; return(izd); end bd_cen#kat; ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2018, 13:37 |
|
Oracle Forms 10 проблемы с функциями
|
|||
---|---|---|---|
#18+
Тут же вопрос, это что за ПОРНОГРАФИЯ ? White Fox create or replace function bd_cen # kat(p_id_izd number) return сhar is ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2018, 13:43 |
|
Oracle Forms 10 проблемы с функциями
|
|||
---|---|---|---|
#18+
Может ли это быть как-то связанным с этой ошибкой? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2018, 13:43 |
|
Oracle Forms 10 проблемы с функциями
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev, Что вас ТАК не устраивает? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2018, 13:44 |
|
Oracle Forms 10 проблемы с функциями
|
|||
---|---|---|---|
#18+
White FoxМожет ли это быть как-то связанным с этой ошибкой? Нет. У меня на Forms 6.0 такое название функции тоже не работает Есть тонкая грань, между эротикой и порнографией. Символ # в название ф-ции, это порнография. На мой взгляд и Oracle Forms со мной солидарен. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2018, 13:47 |
|
Oracle Forms 10 проблемы с функциями
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev, У меня на Forms 6 такое название функции замечательно работает. А то что символ # в названиях функций - порнография, исключительно ваше мнение, которое я озвучивать не просила. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2018, 13:51 |
|
Oracle Forms 10 проблемы с функциями
|
|||
---|---|---|---|
#18+
СОРРИ, не прав Ему тип возврашаемых данных CHAR не нравится. Если изменить на Varchar2, то все должно работать P.S. Но спецсимволы, как и русские буквы, в названиях идентификатор не использую. Может оно конечно и можно, но фиг его знает, когда и в каком языке это обернется боком. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2018, 13:52 |
|
Oracle Forms 10 проблемы с функциями
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev, Вообще сама функция сделана с типом varchar2, но к сожалению я не могу открыть код функции даже на просмотр из-за ошибки, которую скидывала ранее. Сейчас на всякий случай убрала символ # из названия, но Forms все также ее не воспринимает ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2018, 13:59 |
|
Oracle Forms 10 проблемы с функциями
|
|||
---|---|---|---|
#18+
White Foxmessage(bd_cen.bd_cen#kat(izd));Сообщение именно "identifier bd_cen.bd_cen#kat must be declared", а не "identifier izd must be declared" ? Версия БД? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2018, 13:59 |
|
Oracle Forms 10 проблемы с функциями
|
|||
---|---|---|---|
#18+
P.P.S. через какое нибудь время потребуется код перенести на другое базу данных. PostgreSQL, MySQL, Стебелек ( TM), выяснится, что там эти символы являются спец. символами.... будет много приятных чувств из-за необходимости перелапатить 100500 строк кода. P.P.P.S. аналогично русские буквы. Оно может и работает. Но даже то, что русские буквы в UTF8 занимают ни один байт, а два.... может доставить очень много "радости". Например смените кодировку БД и идентификаторы перестанут "влезать" в отведенные им 30 байт. Лично я это проходил лет 15 назад с Menu от формсов. Перевели проект с 1251 на UTF8 - вылезли за пределы полей. Хорошо хоть использовали в считанном кол-ве случаев, а не дай бог все идентификаторы/название_полей в программе были бы такие.... тушите свет. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2018, 14:01 |
|
Oracle Forms 10 проблемы с функциями
|
|||
---|---|---|---|
#18+
mRdUKE, Именно bd_cen, потому что когда я оставляю просто переменную izd, которая объявлена в триггере, он перестает выдавать эту ошибку ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2018, 14:02 |
|
Oracle Forms 10 проблемы с функциями
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev, Мне сейчас это нужно сделать исключительно для учебы, поэтому страха о том что будет проблемы с переносом у меня нет, но спасибо за инфу, я учту ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2018, 14:04 |
|
Oracle Forms 10 проблемы с функциями
|
|||
---|---|---|---|
#18+
Тут можно пойти с другой стороны, не пытаться найти из-за чего не работает А пойти наоборот от действительно "простой ф-ции" и попытаться добавить нужный функционал Ломаться может на чем угодно. Опечатка, типы параметров, имя, права, баги, коллеги-админы помогли..... Код: sql 1. 2. 3. 4.
и в when-button-pressed Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2018, 14:13 |
|
Oracle Forms 10 проблемы с функциями
|
|||
---|---|---|---|
#18+
White Fox, Выполните (на триггер WHEN-BUTTON-PRESSED). Покажите результат? Код: plsql 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2018, 14:14 |
|
Oracle Forms 10 проблемы с функциями
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev, Не работает даже такая функция ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2018, 14:23 |
|
Oracle Forms 10 проблемы с функциями
|
|||
---|---|---|---|
#18+
mRdUKE, BD_CEN:1 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2018, 14:33 |
|
Oracle Forms 10 проблемы с функциями
|
|||
---|---|---|---|
#18+
Ты видишь суслика? И я нет, а он есть. (c) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2018, 15:33 |
|
Oracle Forms 10 проблемы с функциями
|
|||
---|---|---|---|
#18+
White Fox, Добрый день, Могу предложить вам сделать не использовать функцию , а написать ваш код в триггере кнопки блока формы. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2018, 15:47 |
|
Oracle Forms 10 проблемы с функциями
|
|||
---|---|---|---|
#18+
mRdUKEТы видишь суслика? И я нет, а он есть. (c) Может это не суслик, а кот Шрёдингера? ))) White FoxLeonid Kudryavtsev, Не работает даже такая функция пациэнт скорее мерт, чем жив White FoxmRdUKE, BD_CEN:1 а тут вроде все наоборот. пациэнт вроде подает признаки жизни Я бы решил, что White Fox не в ту базу коннектится (несколько хоумов на компьютере, разные tnsnames.ora указывают на разные сервера, PL/SQL developer лезит в один сервер, Forms в другой), но вроде функция есть... т.ч. я даже не знаю, что и думать ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2018, 15:47 |
|
Oracle Forms 10 проблемы с функциями
|
|||
---|---|---|---|
#18+
rf_mailWhite Fox, Добрый день, Могу предложить вам сделать не использовать функцию , а написать ваш код в триггере кнопки блока формы. . Дело в том что данная функция мне нужна в разных местах формы и для разных целей, а я честно говоря не очень хочу прописывать одно и то же несколько раз. Тем более это не единственная функция, которая не работает. У меня ругается на все функции ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2018, 15:58 |
|
|
start [/forum/topic.php?fid=51&msg=39635380&tid=1877933]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
1121ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
others: | 322ms |
total: | 1548ms |
0 / 0 |