Конференция "Базы" » Вызов хранимой процедуры из FastReport
 
  • fast (25.08.10 09:45) [0]
    Доброго дня! Подскажите, как вызвать хранимую процедуру из FatReporta?

    Сервер БД - Оракл, код в fastreport - pascal

    делаю вызов так :

    procedure Button1OnClick(Sender: TfrxComponent);
     
    var s1,s2,s:string;
    timeobr: date;

       
    begin
    s1:=DateTimeToStr(DateEdit1.datetime);
    s2:=DateTimeToStr(DateEdit2.datetime);
    timeobr:=now;                            
     
        s:='   times_in (to_date('''+'20.08.2010 00:00:00'''+','+'''dd.mm.yyyy HH24:MI:SS'''+'),';        
        s:=s+' to_date('''+'23.08.2010 23:59:59'''+','+'''dd.mm.yyyy HH24:MI:SS'''+'),null, to_date('''+'23.08.2010 23:59:59'''+','+'''dd.mm.yyyy HH24:MI:SS'''+') )';
           
       DOAQuery1.SQL.Text:=s;
       DOAQuery1.ExecSQL;
     
     
               
       
    DialogPage1.ModalResult:=mrOK;
     
    end;

    Получаю ошибку Run Time Error ! ora-00900: invalid SQL statement
  • stas © (25.08.10 10:17) [1]
    а если этот же запрос вызвать из delphi ?
  • fast (25.08.10 10:38) [2]
    под делфи проверить не могу, если вызываю  процедуру из pl\sql developera
    begin

    times_in(to_date('20.08.2010 00:00:00','dd.mm.yyyy HH24:MI:SS'), to_date('23.08.2010 23:59:59','dd.mm.yyyy HH24:MI:SS'),null, to_date('23.08.2010 23:59:59','dd.mm.yyyy HH24:MI:SS') );
    end;

    то она отрабатывает отлично
  • Виталий Панасенко(дом) (25.08.10 10:55) [3]
    возможно, просто действительно ошибка в конструируемом тексте.. выведи его на экран и уже потом анализируй, нет ли там ошибки
  • fast (25.08.10 10:57) [4]
    сама процедура заполняет таблицу, права на таблицу, (insert select) и  права на вызов процедуры даны всем пользователям.
  • fast (25.08.10 10:58) [5]

    > возможно, просто действительно ошибка в конструируемом тексте.
    > . выведи его на экран и уже потом анализируй, нет ли там
    > ошибки

    так и  делаю. выводу значение s в мемо, затем экспортирую в текстовый файл. в нем  получаю
       times_in(to_date('20.08.2010 00:00:00','dd.mm.yyyy HH24:MI:SS'), to_date('23.08.2010
     23:59:59','dd.mm.yyyy HH24:MI:SS'),null, to_date('23.08.2010 23:59:59','dd.mm.yyyy HH24:MI:SS') )


    копирую результат в девелопер, оттуда запускается
  • fast (25.08.10 11:02) [6]
    Дайте кто-нибудь пример вызова хранимых процедур из fastreporta, может так мне проще будет найти ошибку
  • Petr V. Abramov © (25.08.10 11:20) [7]
    s:='   times_in (to_date('''+'20.08.2010 00:00:00'''+','+'''dd.mm.yyyy HH24:MI:SS'''+'),';        
       s:=s+' to_date('''+'23.08.2010 23:59:59'''+','+'''dd.mm.yyyy HH24:MI:SS'''+'),null, to_date('''+'23.08.2010 23:59:59'''+','+'''dd.mm.yyyy HH24:MI:SS'''+') )';

    begin и end; прощелканы.
    с кавычками и скобками не разбирался
  • fast (25.08.10 11:30) [8]

    > begin и end; прощелканы.

    ура!!! пошла работа! я не знала, что ее так стоит вызывать, специально begin-end убирала
 
Конференция "Базы" » Вызов хранимой процедуры из FastReport
Есть новые Нет новых   [134433   +22][b:0][p:0]