Search found 11 matches

by AsterixBT
Fri 04 Feb 2022 13:40
Forum: InterBase Data Access Components
Topic: IBDAC vs. UniDAC with Firebird-Database
Replies: 2
Views: 10066

IBDAC vs. UniDAC with Firebird-Database

Hello!

We have been using IBDAC for our Firebird application for many years. Only later interfaces to foreign SQL databases (MS-SQL, Oracle, etc.) were added. For these functions we use UniDAC in parallel.

Now my questions

Can anyone tell me if IBDAC is better than UniDAC in terms of functionality and speed?

The change to Firebird 4.0 is imminent. According to some internet statements IBDAC will not fully support Firebird 4 regarding functions. Is UniDAC better than IBDAC in this case?

Thanks for your answers and tips
Gerd
Germany / Bavaria
by AsterixBT
Thu 22 Apr 2021 05:27
Forum: InterBase Data Access Components
Topic: IBDAC Version 7.3.2 - Incorrect values within SQLDA structure
Replies: 7
Views: 11775

Re: IBDAC Version 7.3.2 - Incorrect values within SQLDA structure

Hello,

unfortunately the bug persists in IBDAC version 7.4.3 dated 6 April 2021.

My last answers already referred to this version 7.4.3.
Now I just checked it again.
The transaction error is still present with my example sent to them.
I need a solution here urgently.
Thank you very much.

Best regards from Germany
by AsterixBT
Tue 20 Apr 2021 11:26
Forum: InterBase Data Access Components
Topic: IBDAC Version 7.3.2 - Incorrect values within SQLDA structure
Replies: 7
Views: 11775

Re: IBDAC Version 7.3.2 - Incorrect values within SQLDA structure

Hello,

Thank you for the good news.
When will the new version of IBDAC and UniDAC be released, since I have both licensed packages installed and there are version conflicts when I update only IBDAC?
If it is still this week, then I can wait.

Best regards from Germany
by AsterixBT
Thu 08 Apr 2021 12:42
Forum: InterBase Data Access Components
Topic: IBDAC Version 7.4.1 - Invalid Transaction handling
Replies: 7
Views: 7545

Re: IBDAC Version 7.4.1 - Invalid Transaction handling

Hello,

maybe I can contribute something to solve the problem faster.
Reference to the example I sent you from 26/03/2021, in which the error can be reproduced well.

The error occurs from the second call of the procedure, after a commit was made on the first run, so that a new Firebird transaction number is generated.
If after the unprepare still this line:
IBCStoredProc1.StoredProcName := '';
is added, then there will be no more error message.
I.e. the transaction number will be generated with the assignment: StoredProcName := ... and as long as the procedure name remains the same, no new transaction trade will be generated if the output parameter is exclusively a BLOB parameter.

It can't be the solution, because the transaction is connected with very many TIBCStoredProc and TIBCQuery , but maybe it makes the debugging easier.


procedure TForm1.RunProc;
var
oProc : TIBCStoredProc;
s1 : string;
begin
oProc := IBCStoredProc1;
oProc.StoredProcName := 'P_TEST';
oProc.Prepare;
oProc.ParamByName('MYID').AsInteger := 1;
oProc.Execute;
s1 := oProc.ParamByName('TESTVALUE').AsString;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
iCounter : integer;
begin
iCounter := 0;

while iCounter <= 100 do
begin
inc(iCounter);
IBCStoredProc1.unprepare;

// If this line is inserted, it works. But it is not the solution.
IBCStoredProc1.StoredProcName := '';

RunProc;
if IBCTransPascalScript.active then
IBCTransPascalScript.Commit;
end;
end;

Best regards
from Germany
by AsterixBT
Thu 08 Apr 2021 09:03
Forum: InterBase Data Access Components
Topic: IBDAC Version 7.4.1 - Invalid Transaction handling
Replies: 7
Views: 7545

Re: IBDAC Version 7.4.1 - Invalid Transaction handling

Hello,

this morning in Delphi came the message that there is a new version 7.4.3 from 6 April 2021. In the history it says that the bug with BLOB parameter is fixed. So I installed this version.
Unfortunately the problem still exists with the transaction with blob fields. You can still try it with the same example I sent them on 26/03/2021.

I hope you will find a solution here quickly.
Thanks in advance.

Best regards
from Germany
by AsterixBT
Mon 29 Mar 2021 10:12
Forum: InterBase Data Access Components
Topic: IBDAC Version 7.4.1 - Invalid Transaction handling
Replies: 7
Views: 7545

Re: IBDAC Version 7.4.1 - Invalid Transaction handling

Hello,

I have sent them the requested things to reproduce the error via the contact form last Friday, 26.03.2021.

Best regards from Germany
by AsterixBT
Tue 23 Mar 2021 13:45
Forum: InterBase Data Access Components
Topic: IBDAC Version 7.4.1 - Invalid Transaction handling
Replies: 7
Views: 7545

IBDAC Version 7.4.1 - Invalid Transaction handling

Hello,
we have been using IBDAC for several years in our Delphi projects (Delphi 10.4.2).
In the previous version 7.3.2 everything worked without problems.
In the same project with the latest IBDAC version 7.4.1, when running the same TIBCStoredProc several times, an error message occurs:

Im Projekt AvERP.exe ist eine Exception der Klasse EIBCError mit der Meldung 'invalid transaction handle (expecting explicit transaction start)' aufgetreten.

The only thing that has obviously changed in the two versions mentioned is the new property: "SSLOptions" in TIBCConnection, but this defaults to Enable := false.
Does IBDAC now work with threads?
That would explain the problem, but not how to solve it.

We are working with 3 different transaction components TIBCTransaction on a single TIBCConnection to request the read only database operations.

As said, the Delphi source code is the same, only the IBDAC version has changed.

Does anyone have a solution to the problem.

Best regards from Germany
by AsterixBT
Wed 09 Dec 2020 09:59
Forum: InterBase Data Access Components
Topic: IBDAC Version 7.3.2 - Incorrect values within SQLDA structure
Replies: 7
Views: 11775

IBDAC Version 7.3.2 - Incorrect values within SQLDA structure

Hello,

in IBDAC Version 7.3.2 with Delphi 10.4.1 Sydney is a new error: Incorrect values within SQLDA structure

In IBDAC Version 7.1.3 with Delphi 10.3.3 Rio it works fine.

In Unit IBCClasses.pas the result of variable RES = 0 in Version 7.1.3
and
in the new IBDAC-Version 7.3.2 the result of RES = 335544569

To reproduce the error:
Take a TIBCStoredProc
Take on Database Procedure with a Inputparameter of TYPE INTEGER
Example:
CREATE PROCEDURE MYPROCEDURE(
MYID INTEGER)
AS
DECLARE S1 VARCHAR(10);
BEGIN
S1 = 'Say Hello';
END

IB_StoredProc1.StoredProcName := 'MYPROCEDURE';
IB_StoredProc1.prepare;
IB_StoredProc1.ParamByName('MYID').AsString := '2';
IB_StoredProc1.Execute;

I hope, the error will be find fast, because we Update Delphi, Komponents an our custom projects and now our customer are waiting.

Thanks for a quick help
Gerd (from Germany)
by AsterixBT
Tue 28 Mar 2017 09:32
Forum: InterBase Data Access Components
Topic: Firebird-Blob-Value over 30MB could not loaded
Replies: 4
Views: 3011

Re: Firebird-Blob-Value over 30MB could not loaded

Hello!

Today I want to create a enviroment (database, script, Delphisource) for testing.
So I take a firebird-database from our network on my local computer.
On local network I can not reproduce the error. I try the same on two other computers.
When the database with the big blob value is on local computer, it works.
So I think, it can be a timeout from the fbclient and some cache-handling.

I have to make more tests before.

Best regards
Gerd
by AsterixBT
Sat 18 Mar 2017 05:55
Forum: InterBase Data Access Components
Topic: Firebird-Blob-Value over 30MB could not loaded
Replies: 4
Views: 3011

Re: Firebird-Blob-Value over 30MB could not loaded

Hello,

o.k., I make a sample.
But it takes a few days, because next week I'am not in the office.

Thank you!

AsterixBT
by AsterixBT
Fri 17 Mar 2017 10:22
Forum: InterBase Data Access Components
Topic: Firebird-Blob-Value over 30MB could not loaded
Replies: 4
Views: 3011

Firebird-Blob-Value over 30MB could not loaded

Hello,

I have following enviroment:
Delphi 10.1 Berlin, IBDAC Version 5.7.27, SQL-Firebird 2.5.6

The Firebird-Database has: 2073 Tables, 2214 Views, 6111 Procedure, 6465 Triggers and a size of 12 GB
One small Table in the database has this structure:
CREATE TABLE TBLOB ( ID INTEGER NOT NULL, TEXT BLOB SUB_TYPE 0 SEGMENT SIZE 80);
In this table I have one record. The blobfield value ist a XML-file with a size of 58MB.
Now I have a TDBMemo-Field in a Delphiform to display the record, but IBDAC could not load the blob.
If i make the blobvalue less than 30 MB, it works fine.
Also the same without TDBMemo, wenn I try to copy the Blobstream from IBDAC-field to a other memorystream or filestream.
I try all Optionssettings inTIBCQuery: CacheBlobs (on/off), DefferedBlobRead (on/off), StreamedBlobs (on/off) and all combination of this settings. Nothing happend.

One important info about this topic.
When I take the same Firebirddatabase, make it empty, put only the blob-record into the database, then it works. The full database is not corrupt. Before testing I make Backup/Restore.

I tested with different firebird-databases, different computers and different networks and differnent firebirbservices.

Has anyone a idee?

Best regards
AsterixBT
(Germany)