| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Oracle > Проблема использования OO4O |
| Автор: Fazil6 5.6.2006, 13:30 | ||
| у меня проблема вызвать ХП с передачей аргументов через параметры. Есть ли какие-то подводные камни, которые не бросаются в глаза в документации и которые я проглядел. При попытке вызова
возвращает OFAILURE и вызов odb.GetErrorText() выдает "ORA-01008 не все переменные привязаны" Количество параметров соответствует количеству аргументов. Пробовал задавать все аргументы через параметры, пробовал задавать только входные, картина не меняется. Если просто разбираю имеющиеся данные и формирую вызов ХП через запрос подставляя туда значения - все пучком. После добавления параметров GetErrorText() для OParameterCollection не выдает никаких ошибок. Короче, есть у кого-нибудь какие-нить соображения или впадать в отчаяние? |
| Автор: Sqlninja 5.6.2006, 14:05 |
| нужен код ХП. |
| Автор: Fazil6 5.6.2006, 14:13 | ||||
с этим небольшая проблема. Что именно интересует? вот объявление могу привести
4, 5, 7 и 8 VarChar2 остальные NUMBER |
| Автор: Sqlninja 5.6.2006, 14:31 |
| ну а код вызова можете привести полностью? |
| Автор: Fazil6 5.6.2006, 14:55 | ||
можем
|
| Автор: Sqlninja 5.6.2006, 14:59 |
| мне нужен код где вызывается метод ExecuteSql(), тот что в вашем первом сообщении, плз. |
| Автор: Fazil6 5.6.2006, 15:04 | ||||||
| вот только сейчас вот чего нарыл. Перед вызовом решил проверить параметры. С числами нет проблем, но вот со строками какой-то папандос (или я с проверкой накосячил?)
последний параметр сохранялся как NULL и с ним нет проблем первый байт 0 как положено, а остальные имеют в первых 3-х байтах кракозябры (причем первый отрицательный) потом 0 и дальше видно, что не записывалось ничего, и причем все 3 параметра (имею в виду значения записанные в b, b1 и b2) имеют одинаковое перекошенное значение. Когда передавал в Аdd проверял, там все было нормально Добавлено @ 15:09
хм.... ну вот.
|
| Автор: Sqlninja 5.6.2006, 15:11 |
| ну вы мне дадите ExecuteSql() или нет? |
| Автор: Fazil6 5.6.2006, 15:20 | ||
ни хрена не понимаю.... ну 3-я строка в функции Run!!! Мы разве не об этом говорим? |
| Автор: Sqlninja 5.6.2006, 15:31 |
| мдя. SQL отсюда плохо виден... statment как-то реально получить? Добавлено @ 15:34 relax, relax, man - мы одновременно запостились. |
| Автор: Fazil6 5.6.2006, 15:42 | ||||
ну для примера он выглядит вот так. Я здесь ошибок не вижу
пробовал и так формировать
результат один и тот же |
| Автор: Sqlninja 5.6.2006, 15:57 |
| да нету здесь ошибок - ошибка в процедуре name1.name2() которую я так до сих пор и не увидел... |
| Автор: Fazil6 5.6.2006, 16:09 | ||
Какие ошибки по твоему там могут быть? там ошибок на эту тему не должно быть. БД давно в комерческой эксплуатации и это одна из самых часто используемых функций. Если я не использую параметры, а пишу значения прямо в запросе вызова этой ХП, то тоже все работает нормально. |
| Автор: Sqlninja 5.6.2006, 16:12 |
| а какая версия OCI? |
| Автор: Fazil6 5.6.2006, 16:29 |
| я пока с Oracl`om только 2-й день дело имею и панятия не имею, что ты понимаешь под версией OCI. Ладно, без параметров работает и хрен с ним. Попозже попробую по одному параметру добавлять и всетаки разобраться где тут собака порылась. Добавлено @ 16:30 спасибо за желание помочь |