powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / перегруженные функции
7 сообщений из 7, страница 1 из 1
перегруженные функции
    #32936208
JustVas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
есть две перегруженные функции (SP):
- func(val in varchar2)
- func(val in number)
есть DW с полем decimal и обновлением по SP. При попытке обновления вылетает ошибка 'too many declarations of func was found' Как это победить?

1. То же при типе поля char
2. Oracle 9.2
3. Из родного oracle'вого pls/sql все работает
...
Рейтинг: 0 / 0
перегруженные функции
    #32936416
tru55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В свое время работал со связкой PB7 + Oracle 8.1.7. Столкнулись с тем, что PB неверно передает тип number (ну или Oracle неверно его воспринимает). Победить так и не удалось, обошлись тем, что в PB преобразовывали параметр в строку, а в SQL явно прописывали to_number(Par1).
Попробуй, для начала, закомментарить функцию с varchar2 и проверь, какое значение получает функция с number
...
Рейтинг: 0 / 0
перегруженные функции
    #32936456
JustVas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tru55Попробуй, для начала, закомментарить функцию с varchar2 и проверь, какое значение получает функция с number
По отдельности все работает нормально. Причем, если добавить еще одну функцию с параметром date, то проблем тоже не возникают. Конфликтуют именно number и varchar2
...
Рейтинг: 0 / 0
перегруженные функции
    #32936520
tru55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Oracle выдает подобное сообщение тогда, когда для него 2 декларации одинаковы, поэтому я и предполагаю неверную передачу типа number (с передачей типов между языками постоянно какие-то заморочки). Попробуй все-таки выяснить, что приходит в Oracle при вызове функции с number (например, с пом. raise_application_error )
...
Рейтинг: 0 / 0
перегруженные функции
    #32936590
JustVas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tru55Попробуй все-таки выяснить, что приходит в Oracle при вызове функции с number (например, с пом. raise_application_error )
как? если бы приходил не number, была бы ошибка wrong type. Также и со строками. Что-то тут странное... Может, тут и не в типах проблема, а в неумении еще работать с пакетами, - недаром в выборе SP для сохранения package обходятся стороной и приходится руками вписывать... В-общем, пока пришлось переименовать эти функции, хотя и некрасиво это :(
...
Рейтинг: 0 / 0
перегруженные функции
    #32936634
tru55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По поводу неумения работать с пакетами - это сомнительно. Если бы пакетные функции вообще не вызывались - тогда другое дело. А так PB только делает вызов, а какую вызвать из них функцию - решает уже сам Oracle (а он-то это умеет). Поэтому я остаюсь при своем мнении - неверная передача типа number (с передачей строк никогда никаких проблем не было)
...
Рейтинг: 0 / 0
перегруженные функции
    #32936637
Фотография ZiZu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Недавно столкнулись с проблемами при работе с SQL_INT64 и Oracle 9.2.0.4. Дето оказалось в том, что целочисленные типы в Oracle не соответствуют ANSI стандарту по размеру. Можешь почитать есть целый tread на сайте у них.
Вдруг с этим связано...
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / перегруженные функции
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]