Page 1 of 1

SpecificOptions

Posted: Mon 24 Oct 2011 14:14
by zvasku
Hello,

after migrating form 3.7 to 4.0.2 we have problem with this code:

FSQLDataSet.SpecificOptions.Values['Oracle.AutoClose'] := 'True';
FSQLDataSet.SpecificOptions.Values['TemporaryLobUpdate']:='False';

We call setting before assignment of Connection property and error "Connection value is required" is shown. Is it a new behavior or an error?

Thanks
Zdenek

Posted: Tue 25 Oct 2011 10:57
by AlexP
Hello,

Thank you for the information.
We have reproduced the problem.
We will fix this problem in the next build.
At the moment you should specify provider before setting SpecificOptions to solve this problem.

Posted: Tue 25 Oct 2011 12:18
by zvasku
Ok.

We will revert to 3.70 and wait for new 4.0

Posted: Fri 25 Nov 2011 14:00
by zvasku
4.1.3 still have problem

Posted: Fri 25 Nov 2011 14:48
by AlexP
hello,

This problem has already been fixed.
Please check that you have completely removed the previous version of UniDAC (including *.bpl, *.dcu, and *.bpl) and re-install UniDAC 4.1.3.

Posted: Fri 25 Nov 2011 17:11
by zvasku
Error:

Connection is not defined.

XE2 UPD2

Posted: Tue 29 Nov 2011 09:16
by zvasku
Any news?

We have to use 3.70 a cannot move to XE2.

Zdenek

Definitively not fixed in 4.1.3

Posted: Tue 29 Nov 2011 10:24
by horsi
AlexP wrote:hello,

This problem has already been fixed.
Please check that you have completely removed the previous version of UniDAC (including *.bpl, *.dcu, and *.bpl) and re-install UniDAC 4.1.3.
Please run this *test* code:

Code: Select all

procedure TForm1.Button1Click(Sender: TObject);
var lConnection: TUniConnection;
begin
  lConnection := TUniConnection.Create(Self);
  lConnection.SpecificOptions.Values['Oracle.PrecisionSmallint'] := '0';
  lConnection.SpecificOptions.Values['Oracle.PrecisionLargeint'] := '0';
  lConnection.ProviderName := 'Oracle';
end;
---------------------------
Provider is not defined.
---------------------------
Reverted to UniDAC 3.70.0.19

Posted: Thu 29 Dec 2011 12:05
by zvasku
4.1.4 is better, but this line still makes the problem

FSQLDataSet.SpecificOptions.Values['TemporaryLobUpdate']:='False';

If I change it to

FSQLDataSet.SpecificOptions.Values['Oracle.TemporaryLobUpdate']:='False';

code works.

Is it new behavior or is it still an error.

Version 3.70 had no problem with this line.

Posted: Thu 29 Dec 2011 12:57
by bork
Hello

Now you can use simple specific options definition, if you defined Connection for DataSet and Provider for Connection:

Code: Select all

  FSQLDataSet.SpecificOptions.Values['TemporaryLobUpdate']:='False';
In other cases you should define provider name explicitly:

Code: Select all

FSQLDataSet.SpecificOptions.Values['Oracle.TemporaryLobUpdate']:='False';


In version 3.7 you could define FSQLDataSet.SpecificOptions.Values['TemporaryLobUpdate']:='False', but this option was ignored. Now we raise exception "Connection value is required" for these cases.

Posted: Thu 29 Dec 2011 15:57
by zvasku
Ok.