Watch, Follow, &
Connect with Us

For forums, blogs and more please visit our
Developer Tools Community.


Welcome, Guest
Guest Settings
Help

Thread: DELPHI 10 Seatlle Firedac and ODBC IBM iseries / TFDUpdateSQL


This question is not answered. Helpful answers available: 2. Correct answers available: 1.


Permlink Replies: 1 - Last Post: Oct 8, 2015 6:34 AM Last Post By: Dmitry Arefiev
Romuald Kler

Posts: 4
Registered: 7/17/09
DELPHI 10 Seatlle Firedac and ODBC IBM iseries / TFDUpdateSQL  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Oct 7, 2015 1:52 AM
Hello,

Since I still can not change the data directly, I tried to use a TFDUpdateSQL with an ODBC driver for Iseries.
This does not work either. I have an exception EODBCNativeException : [FIREDAC][PHYS][ODBC][Pilote ODBC System i Access] Pilote non opérationnel.

The problem comes from
unit FireDAC.Phys.ODBCBase : procedure TFDPhysODBCCommand.SetupStatementBeforePrepare

//....
if (ODBCConnection.DriverKind = dkDB2) and (GetCommandKind in [skDelete, skInsert, skMerge, skUpdate]) then
oStmt.PARAMOPT_ATOMIC := SQL_ATOMIC_NO;

PARAMOPT_ATOMIC is undefined.

If I skip this instruction with the debugger, it works !!!

Does someone have an idea?

I'm not sure I want to migrate my old Delphi 6 applications / BDE / iseries for Delphi 10 Seatle and Firedac. For now it's not great.

Best Regards
Romuald Kler
Dmitry Arefiev

Posts: 1,406
Registered: 12/7/03
Re: DELPHI 10 Seatlle Firedac and ODBC IBM iseries / TFDUpdateSQL  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Oct 8, 2015 6:34 AM   in response to: Romuald Kler in response to: Romuald Kler
if (ODBCConnection.DriverKind = dkDB2) and (GetCommandKind in [skDelete, skInsert, skMerge, skUpdate]) then
oStmt.PARAMOPT_ATOMIC := SQL_ATOMIC_NO;

This is a bug in XE8 (or DX10) and it is fixed now. The fix will be in DX10 Update 1.
At moment you can just comment these lines, if you use only DB2 AS400 and
not DB2 LUW.

In next RAD Studio version will be included quite well verified support for DB2 / AS400.
You will be able to use FireDAC DB2 driver to connect to DB2 / AS400. It will
be not a dedicated DB2 AS400 driver.

--
With best regards,
Dmitry Arefiev / FireDAC Architect
Legend
Helpful Answer (5 pts)
Correct Answer (10 pts)

Server Response from: ETNAJIVE02