When trying to insert russian strings with the help of a stored procedure in Direct mode I encounter the following error:
ORA-01460: unimplemented or unreasonable conversion requested.
ODAC session and stored procedcure component are set in desigh as follows:
object OraSession1: TOraSession
Options.CharLength = 0
Options.UseUnicode = True
Options.Direct = True
Options.KeepDesignConnected = False
ConnectDialog = ConnectDialog1
Left = 40
Top = 15
end
object stpNewVendor: TOraStoredProc
StoredProcName = 'LOC_VENDOR.new_vendor'
Session = OraSession1
SQL.Strings = (
'begin'
' :RESULT := LOC_VENDOR.new_vendor(:P_VENDORNAME, :P_ADDINFO);'
'end;')
Debug = True
Left = 125
Top = 73
ParamData =
CommandStoredProcName = 'LOC_VENDOR.new_vendor:0'
end
I use ODAC 6.90.0.54 with Delphi 2009 on Windows XP sp3.
Locale: Russian
Locale for non-Unicode application: Russian
Database is Oracle 10.2.0.3.0
NLS_CHARACTERSET UTF8
NLS_LANGUAGE AMERICAN
NLS_NCHAR_CHARACTERSET UTF8
The code, which tries to inset values is as follows:
stpNewVendor.ParamByName('P_VENDORNAME').AsWideString:=edVendor.Text;
stpNewVendor.ParamByName('P_ADDINFO').Clear;
stpNewVendor.ExecProc;
What am I missing?