C++-Builder 6.0
ODAC 5.80 Built 38
Oracle 10g2
I have a Oracle-Procedur with a NUMBER Input-Parameter
as following (inside a package):
Code: Select all
PROCEDURE addNumber(
val IN NUMBER)
IS
BEGIN
DBMS_OUTPUT.put_line('=====> addNumber: insert Value as Number') ;
DBMS_OUTPUT.put_line(' Value: '||val);
INSERT INTO testtab (val)
VALUES (addNumber.val);
END addNumber;When I use the Construct
OraStoredProc->Params->ParamByName(name)->AsString = val;
OR
OraStoredProc->Params->Items[0]->AsString = val;
AND val has more then 8 Digits
ODAC cuts val to 8 Digits,
that means at Oracle Procedure receives only the first 8 digits
(e.g. "1234567890" -> "12345678")
The use of
OraStoredProc1->Params->ParamValues[name] = val;
works, but there is a problem when val IS NULL, because I like to use the AsString - Property
Same problem in ODAC 5.70 Build 39.
With ODAC 5.70 Build 33 it works fine.