TDBXError: dbExpress driver does not support the TDBXTypes d |
|
Hi, I am converting Delpho 2007 sources to X5. I have a problem when execute a sql insert than is executed correctly in Delphi 2007 and wrong in XE5.
Database is DB2 v10.5, the table TPM.LOCAL have a key integer auto generated
{code}
CREATE TABLE "TPM"."LOCAL" (
"IDLOCAL" INTEGER NOT NULL GENERATED BY DEFAULT AS IDENTITY ( START WITH 1 INCREMENT BY 1 MINVALUE -2147483648 MAXVALUE 2147483647 CYCLE CACHE 20 ORDER ),
"NAME" VARCHAR(64),
"DESC" VARCHAR(2000),
"ACTIVE" SMALLINT NOT NULL DEFAULT 1,
"ERASE" SMALLINT NOT NULL DEFAULT 0,
}
{code}
I test with IDLOCAL as BIGINT and IDLOCAL as INTEGER with the same result.
The delphi code and sql:
{code}
procedure TForm1.Button1Click(Sender: TObject);
var
Query: SqlExpr.TSQLDataSet;
begin
Query := SqlExpr.TSQLDataSet.Create(nil);
try
Query.SQLConnection := TPMConnection;
Query.CommandType := DB.ctQuery;
Query.GetMetadata := False;
Query.CommandText := 'INSERT INTO TPM.LOCAL (NAME,DESC,ACTIVE,ERASE) VALUES (:NAME,:DESC,:ACTIVE,:ERASE)';
Query.ParamByName('NAME').Value:= 'Test';
Query.ParamByName('DESC').Value:= 'Tesr';
Query.ParamByName('ACTIVE').Value:= 1;
Query.ParamByName('ERASE').Value:= 0;
Query.ExecSQL(False);
finally
Query.Free;
end;
end;
{code}
In Delphi 2007 insert the register correctlu but in Delphi XE5 raise the exception *TDBXError: dbExpress driver does not support the TDBXTypes.UINT8 data type. Vendor error message; .*
Is there any possible solution?
Thanks
Edited by: Jose Vergara on Jun 19, 2014 12:46 AM
|