Page 1 of 1
Bug in UniDac 6.0.1 ?
Posted: Thu 27 Nov 2014 11:16
by pmoegenb
A project with TInterBaseUniProvider runs compiled with UniDAC 5.3.10 , right. If the same project with UniDAC 6.0.1 is compiled , a missing component in a TSQLServerProvider TUniQuery is claimed.
Re: Bug in UniDac 6.0.1 ?
Posted: Fri 28 Nov 2014 13:09
by ViktorV
Please specify the problem in more details and describe the steps to reproduce it.
Re: Bug in UniDac 6.0.1 ?
Posted: Sat 29 Nov 2014 10:07
by pmoegenb
In the project, the following components are used:
TUniconnection
TInterBaseUniProvider
TUniConnectDialog
TuniQuery (in SpecificOptions InterBase is set ), the name is BankenTblNr.
If the project with UniDAC 5.3.10 compiled the program runs without an error message.
If the project is compiled with UniDAC 6.0.1 I get the following error message:
Error reading BankenTblNr.SpecificOptions.Strings : SQL Server provider is not registered.
Re: Bug in UniDac 6.0.1 ?
Posted: Sun 30 Nov 2014 18:32
by Uli65
Hello,
I had this error too, when I change from 5.3.10 to 5.5.x. The solution is to look with a text editor in the DFM file and remove unnecessary SpecificOptions for unused providers.
Best Regards
Uli
Re: Bug in UniDac 6.0.1 ?
Posted: Mon 01 Dec 2014 11:38
by ViktorV
This behavior of UniDAC is correct. You will get this error when specifying some specific options of a non-used provider. To fix it, you can either add this provider to the form or delete the specific options of the non-used provider.
Re: Bug in UniDac 6.0.1 ?
Posted: Mon 01 Dec 2014 14:26
by stevel
I found a potential bug in UniDAC v6.0.1 / Interbase provider :-
Using:
+ Windows 7 Professional x64 (EN-US)
+ Delphi XE2 Enterprise Update 4 Hotfix 1
+ Windows VCL Forms project 32-bit
+ UniDAC v6.0.1 for RAD Studio XE2
+ Firebird v2.5.3 64-bit running on same machine as the Delphi IDE
#1. Stored procedure (TUniStoredProc) component design-time user interface:
In the user-interface of the Stored Procedure editor, when clicking the 'Create SQL' button, the wrong type of SQL is generated for a SELECT stored procedure.
Specifics:
'EXECUTE PROCEDURE..' is generated instead of 'SELECT * FROM..'
So, when you click the 'Data Editor' button, you receive the error - 'SQL Statement doesn't return rows.'
The DDL for row-returning Firebird stored procedure is as follows:
Code: Select all
CREATE PROCEDURE ITEMCATGY_L returns (
ROW_ID Integer,
DISPLAY_TEXT VarChar(20))
AS
BEGIN
FOR SELECT
ROW_ID,
DISPLAY_TEXT
FROM ITEMCATGY
ORDER BY 2
INTO
:ROW_ID,
:DISPLAY_TEXT
DO BEGIN
SUSPEND;
END
END;
I believe that it used to work correctly in a prior version of UniDAC ie. it would correctly generate 'SELECT * FROM ..' if the stored procedure returned rows.
Re: Bug in UniDac 6.0.1 ?
Posted: Wed 03 Dec 2014 10:09
by ViktorV
UniDAC is a set of universal data access components for various databases.
Unfortunately, UniDAC doesn't allow design-time query customization. In contrast, IBDAC allows to create SELECT or EXECUTE PROCEDURE statements in the Stored Procedure Editor, depending on the value of the IsQuery check-box. But you can call the method TUniStoredProc.PrepareSQL(IsQuery: boolean = False) in run-time, which creates SELECT or EXECUTE PROCEDURE statements, depending on the value of the IsQuery parameter. More details at:
http://www.devart.com/unidac/docs/index ... olean).htm
Re: Bug in UniDac 6.0.1 ?
Posted: Thu 04 Dec 2014 09:06
by pmoegenb
ViktorV wrote:This behavior of UniDAC is correct. You will get this error when specifying some specific options of a non-used provider. To fix it, you can either add this provider to the form or delete the specific options of the non-used provider.
Another supplier as TInterBaseUniProvider does not exist in the project. Why do I need UniDAC if I can not just replace the UniProvider when changing a database.
Re: Bug in UniDac 6.0.1 ?
Posted: Thu 04 Dec 2014 10:33
by ViktorV
Unfortunately, we can't quite understand the point of the last question. Please clarify what do you mean and what Edition of UniDAC are you using?