Hello
MyDAC v5.90.0.59
BDS2006
MySQL v4.0
Seems to be linked with boolean value convertion for Oracle ODAC
I read the source from an Oracle dataset, where use an non-zero integer (actually 1 is used) to represent "True" value.
And the destination MySQL table has directly the field as a boolean type.
So when I debug, I can see for
Code: Select all
Sender.PutColumnData(i,RowNr,SrcField.AsBoolean);
the value of SrcField.AsBoolean is shown as "true" in the debug window
but when I catch ExecSQL, such value is changed into
According to your request, I try to make a test demo using the MyDAC demo project.
I added one field in MyDAC_Loaded as a boolean field, and directly set it
Code: Select all
Sender.PutColumnData(i,RowNr,True);
then I found EXECSQL becomes
and result is successful.
I guess that
1. The Oralce source field is an integer as nature, to be cast as boolean, it will become a string of "TRUE" for EXECSQL.
2. The direct boolean True value will become "1" for EXECSQL.
So the problem should be in somewhere in ODAC, or MyDAC or coverting of data type, which should be very deep in your components. Please kindly check it