Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2010.12.12;
Скачать: [xml.tar.bz2];

Вниз

Не удается выполнить хранимую процедуру Firebird.   Найти похожие ветки 

 
Кевларвестов Семен   (2009-04-10 01:34) [0]

Доброй ночи!
Есть такая вот проблема:

Используется Firebird 2.1, в качестве провадера данных - FreeIBProvider 3 Через TAdostoredProc пытаюсь вызвать хранимую процедуру:


FSP.Close;
FSP.ProcedureName := "Procedure_Name";
FSP.Parameters.Clear;

with FSP.Parameters.AddParameter do begin
  DataType  := ftString;
  Direction   := pdInput;
  Name       :=  "ParamName1";
  Value       := "ParamValue1";
end;

with FSP.Parameters.AddParameter do begin
  DataType  := ftString;
  Direction   := pdInput;
  Name       :=  "ParamName2";
  Value       := "ParamValue2";
end;


Оно мне в ответ на это ругается:
привязка:0 - Неправильный номер [1] привязки входящего параметра. Диапазон [1..0].

Причем перед этим через этот же FSP вызывается процедура проверки логина, она отрабатывает нормально. Что я делаю не так?


 
Кщд   (2009-04-10 07:08) [1]

где сигнатура процедуры?


 
PEAKTOP ©   (2009-04-10 13:36) [2]

> Используется Firebird 2.1, в качестве провадера данных -
>  FreeIBProvider 3 Через TAdostoredProc пытаюсь вызвать хранимую
> процедуру:


Зачем ?
Ничто не дается бесплатно, а цена универсальности (ADO) - скорость.

Сдается мне, это стук в подвале CHARACTER SETS твоих строковых параметров.

Протокол передачи идентификатора чарсета в API-функциях от сервера клиенту (в данном случае, твоему провайдеру) у InterBase и Firebird до1.5  и у Firebird старше 2.1 отличается. Об этом много писал Дима Коваленко (http://www.ibprovider.com/rus/) в форуме Firebird Foundation.

О чем, кстати и написано в пресс-релизе FreeIBProvider 3, что Firebird 2.1 и выше он не поддерживает (http://www.ibprovider.com/rus/documentation/differences_between_versions.html).

Та что либо купи коммерческую версию, поддерживающую чарсеты, либо пользуй FIBPlus, как делают все Delphi-сты.


 
Кщд   (2009-04-10 14:36) [3]

>PEAKTOP ©   (10.04.09 13:36) [2]
ценю Ваш телепатор)

Кевларвестов Семен   (10.04.09 01:34)  
взгляните на: http://www.ibprovider.com/forum/site/viewtopic.php?t=72
не Ваш случай?


 
PEAKTOP ©   (2009-04-10 20:50) [4]

> >PEAKTOP ©   (10.04.09 13:36) [2]
> ценю Ваш телепатор)


Хрустальный шар последней модели :)


 
Кевларвестов Семен   (2009-04-10 22:15) [5]

А, простите, что имеется в виду под сигнатурой?

Я так понял, что заголовок функции, с объявиловом того что я ей передаю и что ожидаю получить?


CREATE OR ALTER PROCEDURE SELECT_PERMISSION (
   Userid Varchar(38) = Null,
   Sessionid Varchar(38) = Null)
Returns (
   Permissionname Varchar(50))


То что Free не держит Сервер 2.1, возможно. Но чего ж ради он первую процедуру отрабытвает нормально? А там и набор данных поинтересней будет:

CREATE OR ALTER PROCEDURE CHECK_LOGIN (
   Login Varchar(100) Character Set Win1251,
   "Password" Varchar(100) Character Set Win1251)
Returns (
   Sessionid Varchar(38) Character Set Win1251,
   Visibility Varchar(100) Character Set Win1251,
   Username Varchar(100) Character Set Win1251,
   Userid Varchar(38) Character Set Win1251,
   "Role" Varchar(25) Character Set Win1251,
   Pwdlastchange Date,
   Pwddays Integer,
   Postid Varchar(38) Character Set Win1251,
   Enddate Date,
   Employeid Varchar(38) Character Set Win1251,
   Departamentid Varchar(38) Character Set Win1251,
   Begdate Date,
   Result Smallint)


 
PEAKTOP ©   (2009-04-11 10:25) [6]

> Кевларвестов Семен   (10.04.09 22:15) [5]
> Я так понял, что заголовок функции, с объявиловом того что
> я ей передаю и что ожидаю получить?
>
> CREATE OR ALTER PROCEDURE SELECT_PERMISSION (
>    Userid Varchar(38) = Null,
>    Sessionid Varchar(38) = Null)
> Returns (
>    Permissionname Varchar(50))


Чарсеты укажи по-нормальному - авось повезет :)


CREATE OR ALTER PROCEDURE SELECT_PERMISSION (
  Userid Varchar(38) CHARACTER SET WIN1251 = Null,
  Sessionid Varchar(38) CHARACTER SET WIN1251 = Null
)Returns (
  Permissionname Varchar(50) CHARACTER SET WIN1251
)


 
Кевларвестов Семен   (2009-04-11 12:40) [7]

не, так тоже не работает.


 
Кролик Иа-Иа2   (2009-04-12 00:36) [8]


> Что я делаю не так?

Всё. Начиная с провайдера и кончая DB-Aware компонентами.


 
Кевларвестов Семен   (2009-04-12 02:11) [9]

ну допустим. чего надо использовать.


 
Кролик Иа-Иа2   (2009-04-12 02:23) [10]

нада четать ибасе.ру, в прастанародеи - www.ibase.ru


 
имя   (2009-08-05 19:15) [11]

Удалено модератором



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2010.12.12;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.004 c
15-1283342686
12
2010-09-01 16:04
2010.12.12
Скажите, а дрова на ноут от vista или 7 подойдут для XP?


15-1283699038
Beginner
2010-09-05 19:03
2010.12.12
JEDI для D2009


2-1285040260
Серёга
2010-09-21 07:37
2010.12.12
В сети или не в сети, вот в чём вопрос!


3-1249327055
DmitrichJ
2009-08-03 23:17
2010.12.12
Организация поиска по документам в БД


15-1283507963
Медвежонок Пятачок
2010-09-03 13:59
2010.12.12
про кита





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский