Watch, Follow, &
Connect with Us
Public Report
Report From: Delphi-BCB/Database/DBExpress/TSQLStoredProc    [ Add a report in this area ]  
Report #:  81496   Status: Closed
TStoredProc fails to pass/receive VARCHAR2 parameter variable as Input param, using multi-byte characters(Chinese, Japanese etc...)
Project:  Delphi Build #:  14.0.3615.26342
Version:    14.0 Submitted By:   Tomohiro Takahashi
Report Type:  Basic functionality failure Date Reported:  1/25/2010 8:04:04 PM
Severity:    Infrequently encountered problem Last Updated: 3/20/2012 2:24:39 AM
Platform:    All platforms Internal Tracking #:   274657
Resolution: Duplicate (Resolution Comments) Resolved in Build: : 15.0.3855.32889
Duplicate of:  79959
Voting and Rating
Overall Rating: No Ratings Yet
0.00 out of 5
Total Votes: None
Description
With Oracle10g, TStoredProc fails to pass/recieve VARCHAR2 parameter variable as In/Out param.
This issue occurs when passing a string variable which contains multi-byte characters.

I think this is similar to RAID#273768.

Please take a lool at attached project.

The definition of sample storedprocedure is as below.
-------------------------
CREATE OR REPLACE PROCEDURE Test_BC2010
(
   Pi_ErrMsg     IN  VARCHAR2,
   Po_ErrMsg1    OUT VARCHAR2,
   Po_ErrMsg2    OUT NVARCHAR2
)
IS
BEGIN
   Po_ErrMsg1 := Pi_ErrMsg;
   Po_ErrMsg2 := Pi_ErrMsg;
   RETURN;
EXCEPTION
   WHEN OTHERS THEN
        RETURN;
END;
/
-------------------------
Steps to Reproduce:
1. start Oracle 10g and create a storedprocedure
2. build attached project and run it
3. the application pass/receive Japanese string as In/Out parameter to the storedprocedure
4. xxx->Value, xxx->AsString, and xxx->AsAnsiString fail.
Workarounds
None
Attachment
oratest.zip
Comments

Tomohiro Takahashi at 1/26/2010 4:21:02 PM -
This issue same as RAID#274223(QC#79959).

Server Response from: ETNACODE01