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

Вниз

Использование IBStoredProc   Найти похожие ветки 

 
Term ©   (2005-08-29 14:06) [0]

Гдето попадалось что использовать IBStoredProc нежелательно ввиду глючности последнего, но возникла необходимость его использования. Есть аналогичный компонент в фибсах(раньше с этими компонентами не работал и не устанавливал поэтому спрашиваю), и какие есть рекомендации

Без этого компонента не обойтись


 
Term ©   (2005-08-29 14:30) [1]

народ есть кто живой, кто может просветить относительно использования этого компонента


 
Domkrat ©   (2005-08-29 14:41) [2]

ibase.ru

>В общем случае не рекомендуется к использованию, т.к. имеет >застарелую проблему с обработкой ошибок. При самостоятельном >исправлении данной ошибки в коде (IBStoredProc.pas) может быть >использован.

Ошибка описана сдесь

http://www.ibase.ru/devinfo/ibstp.htm


 
Term ©   (2005-08-29 15:13) [3]

понятно, а с фибсами как дело обстоит


 
Domkrat ©   (2005-08-29 15:47) [4]

C FibPlus все ок.


 
Карелин Артем ©   (2005-08-29 17:41) [5]

Делаем код вида Execute procedure с помощью указанного кода и не думаем о проблемах.
А вообще у меня несколько сот рабочих мест без проблем используют довольно активно сабж и проблем не было.
function GenerateSQL(Database:TIBDatabase;const SPName:string):string;
var
 Query : TIBSQL;
 input : string;
begin
 Database.InternalTransaction.StartTransaction;
 Query := TIBSQL.Create(Database);
 try
   Query.Database := DataBase;
   Query.Transaction := Database.InternalTransaction;
   Query.SQL.Text := "SELECT RDB$PARAMETER_NAME,  RDB$PARAMETER_TYPE " + {do not localize}
                      "FROM RDB$PROCEDURE_PARAMETERS " + {do not localize}
                      "WHERE RDB$PROCEDURE_NAME = " + {do not localize}
                      """" + FormatIdentifierValue(Database.SQLDialect,
                              QuoteIdentifier(Database.SQLDialect, SPName)) + """" +
                      " ORDER BY RDB$PARAMETER_NUMBER"; {do not localize}
   Query.Prepare;
   Query.GoToFirstRecordOnExecute := False;
   Query.ExecQuery;
   while (not Query.EOF) and (Query.Next <> nil) do
   begin
     if (Query.Current.ByName("RDB$PARAMETER_TYPE").AsInteger = 0) then {do not localize}
     begin
       if (input <> "") then
         input := input + ", :" +
           QuoteIdentifier(Database.SQLDialect,trim(Query.Current.ByName("RDB$PARAMETER_NAME").AsString)) {do not localize}
       else
         input := ":" +
           QuoteIdentifier(Database.SQLDialect, trim(Query.Current.ByName("RDB$PARAMETER_NAME").AsString)); {do not localize}
     end
   end;
   if Input <> "" then
     Result := "Execute Procedure " + {do not localize}
         QuoteIdentifier(Database.SQLDialect, SPName) + "(" + input + ")"
   else
     Result := "Execute Procedure " + {do not localize}
         QuoteIdentifier(Database.SQLDialect, SPName);
 finally
   Query.Free;
   Database.InternalTransaction.Commit;
 end;
end;


 
Term ©   (2005-08-29 18:02) [6]

не использование Query не подходит т.к. нужно в течении короткого времени пересадить приложение на FB, в приложении полно TADOStoredProc, время просто поджимает



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

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

Наверх





Память: 0.46 MB
Время: 0.019 c
1-1126791640
bokuto
2005-09-15 17:40
2005.10.09
Запуск архиватора


14-1127197758
Иксик
2005-09-20 10:29
2005.10.09
Эллочка-людоедочка


2-1125370412
The Sound
2005-08-30 06:53
2005.10.09
String TO PAnsiChar


2-1125465410
DimonS
2005-08-31 09:16
2005.10.09
Нужна помощь по TQuery.


2-1125130361
Antonn
2005-08-27 12:12
2005.10.09
Что такое идентификатор по правилам Object Pascal?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский