Dňa 16.5.2015 o 19:19 silvioprog napísal(a):
On Sat, May 16, 2015 at 1:51 PM, Michael Van Canneyt
<mich...@freepascal.org <mailto:mich...@freepascal.org>> wrote:
On Sat, 16 May 2015, silvioprog wrote:
[...]
Set the stoUseImplicit option on the transaction:
VCon.Transaction.options:=[stoUseImplicit]
Thanks for the fast reply buddy.
I have another problem: my FPC version is 2.6.4, and this option is
not available in this version. =/
But just to test, I did it using FPC from trunk, and the following
code returned another error:
[code]
var
VCon: TPQConnection;
begin
VCon := TPQConnection.Create(nil);
VCon.Transaction := TSQLTransaction.Create(VCon);
try
VCon.Transaction.Options := VCon.Transaction.Options +
[stoUseImplicit];
VCon.HostName := '127.0.0.1';
VCon.DatabaseName := 'postgres';
VCon.UserName := 'postgres';
VCon.Password := 'postgres';
VCon.ExecuteDirect(
'CREATE DATABASE "09_0025" WITH ENCODING=''UTF8'' ' +
' OWNER="postgres" TEMPLATE="template1" ' +
' LC_COLLATE=''English_United States.1252'' ' +
' LC_CTYPE=''English_United States.1252'' '+
' CONNECTION LIMIT=-1 TABLESPACE="pg_default"');
finally
VCon.Free;
end;
end;
[/code]
Error:
#0 PQCONNECTION$_$TPQTRANS_$__$$_REGISTERCURSOR$TPQCURSOR at :0
#1
PQCONNECTION$_$TPQCONNECTION_$__$$_EXECUTE$TSQLCURSOR$TSQLTRANSACTION$TPARAMS
at :0
#2
SQLDB$_$TSQLCONNECTION_$__$$_EXECUTEDIRECT$ANSISTRING$TSQLTRANSACTION
at :0
#3 SQLDB$_$TSQLCONNECTION_$__$$_EXECUTEDIRECT$ANSISTRING at :0
#4 TFORM1__BUTTON1CLICK(0x1dc248, <error reading variable>) at
Unit1.pas:45
...
Probably fixed in rev.30920
ExecuteDirect did not called StartImpicitTransaction, which leaves
Transaction.Handle nil, which later leads to AV, when PQConnection uses
transaction handle to register cursor during statement preparation.
-Laco.
_______________________________________________
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal