Subject RE: [IBO] ibo 5.7.13 2411
Author IBO Support List

Andy,

 

My apologies for not responding sooner.

 

For the Session timer problem you just add the IB_VCL unit to your project or your main data module’s uses list and it goes away.

 

I’m sure we can get this dialect issue resolved.

Would it be possible for me to do a remote support session with you so that I can hotfix in IBO whatever needs to be done to make it work?

 

Jason Wharton

www.ibobjects.com

 

 


From: IBObjects@yahoogroups.com [mailto: IBObjects@yahoogroups.com ]
Sent: Wednesday, November 09, 2016 3:42 AM
To: IBObjects@yahoogroups.com
Subject: [IBO] ibo 5.7.13 2411

 




Hi 

I am migrating some older app from Delphi 2007 to Delphi Berlin 10.1.

I have IBO for both.

 

IBO 4.8.4 on Delphi 2007 and 5.7.13 on Berlin .

 

I have a simple IB_Connection with a IB_DSQL connected to it to Firebird 2 with dialect 1.

 

I create a table and then a stored procedure.

 

it works perfectly in Delphi 2007.

 

The SQL to create the table is:

 

CREATE TABLE RESULTS 

(

  UARN            DOUBLE PRECISION,

  ASSESSMENT_REFERENCE DOUBLE PRECISION,

  RV              DOUBLE PRECISION,

  EFF                         DATE,

  ALT                         DATE,

  BA_CODE                     CHAR(     4)  COLLATE NONE,

  BA_REF                   VARCHAR(    25)  COLLATE NONE,

  OLD_BA_CODE                 CHAR(     4)

)

 

and to create the stored procedure is:

 

CREATE PROCEDURE P_RIVERLAKE_2010 (

  MASS Double Precision,

  MRV Double Precision, 

  MEFF Date, 

  MALT Date, 

  MBA_CODE Char(4), 

  MBA_REF VarChar(50))

AS

 

begin

  insert into results (uarn, ASSESSMENT_REFERENCE, rv, eff, alt, ba_code, ba_ref)

  select uarn, ASSESSMENT_REFERENCE, rateable_value_2010, effective_date_2010, list_alteration_date_2010, billing_authority_code, ba_reference_number

  from list_data t1 join monitor t2 on (t1.BA_REFERENCE_NUMBER = t2.BA_REFERENCE_NUMBER and t1.billing_authority_code = t2.PSD_CODE);

 

  for select ba_reference_number, psd_code from monitor into :mba_ref,:mba_code 

  do begin

  select max(assessment_reference) from results where ba_ref = :mba_ref and ba_code = :mba_code   into :mass;

  delete from results where ba_ref = :mba_ref and ba_code = :mba_code  and assessment_reference <> :mass;

  end

  

  end

 

If i run it under Berlin , the first problem i get is an ISC error 0 saying:

SQL Warning code = 301 DATE type is now called TIMESTAMP

 

Now i know thats a warning but it still crashes the app.

 

Ok change the DATE to TIMESTAMP (shouldn't have to do this as its dialect 1!) and now the table creates. (it still has date fields though not timestamp)

 

Now i can create the stored procedure also using an IB_DSQL as it relies on that table being present.

 

i get an error that says:SQL Error Code = -104 Token Unknown - line 15, column 62 ?

 

Now on my basic form for testing I also have a FireDAC connection and a FireDAC query, set to dialect 1. Both creating the table and creating the procedure work absolutely fine using the sql above.

 

So it has to be that build of IBO under Berlin thats not setting the dialect correctly dont you think?

 

Also if you drop a IB_sessionProps component on there is crashes with an error saying 

 

Class exeception with message 'TimerInterval <> 0 unsupoorted' 

 

and even if you set the timer interval to 0 it still does the same.

 

Can we have some answers please so i can continue my migration?

 

My only other option is to swap everything to FireDAC which is a big job.