Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.12.12;
Скачать: CL | DM;

Вниз

Не удается выполнить хранимую процедуру 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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.012 c
15-1283257709
bss
2010-08-31 16:28
2010.12.12
Создание интерфейса без сохранения в переменную


2-1284978574
khrenkov
2010-09-20 14:29
2010.12.12
Проблемы с записью/чтением типизированного файла


15-1283783209
ocean
2010-09-06 18:26
2010.12.12
Wifi


2-1284885575
Telebot
2010-09-19 12:39
2010.12.12
TWebBrowser грузит сильно ЦП (более 50%) и ест много памяти


8-1207933974
DoKi
2008-04-11 21:12
2010.12.12
смешивание 2-х текстур