ORA-22993 on mono/linux

ORA-22993 on mono/linux

Postby crazyminsc » Wed 12 Aug 2009 11:10

Hello, we have problems with letters containing diacritical marks on linux. Collumn type is CLOB.

Windows works just fine, mono linux does not. The problem seems to be diacritical marks, ANSI characters work fine.

Code: Select all
"User ID={0};SID={1};Host={2};password={3};Pooling=true;Min Pool Size={4};Max Pool Size={5};Direct=true"



Code: Select all
Devart.Data.Oracle.OracleParameter param = cmd.CreateParameter()
param.OracleDbType = Devart.Data.Oracle.OracleDbType.Clob;
param.Value = "ĚŠČŘŽÝÁÍÉŮÚŤŇÓěščřžýáíéůúťňó";


we tried also:

Devart.Data.Oracle.OracleLob lob = new Devart.Data.Oracle.OracleLob(Devart.Data.Oracle.OracleDbType.Clob);
System.Text.Encoding a = System.Text.Encoding.GetEncoding(1250);
byte[] pole = a.GetBytes("ĚŠČŘŽÝÁÍÉŮÚŤŇÓěščřžýáíéůúťňó");
lob.Write(pole, 0, pole.Length);
param.OracleValue = lob;


instead of
param.Value = "ĚŠČŘŽÝÁÍÉŮÚŤŇÓěščřžýáíéůúťňó";


Still the same error on linux:


UPDATE PARTNER_POZNAMKA SET POZNAMKA=:p1 WHERE ID=:p2


Code: Select all
ORA-22993: specified input amount is greater than actual source amount
  at xc.u.d () [0x00000]
  at xc.o.b () [0x00000]
  at Devart.Data.Oracle.a6.e (Int32 A_0, System.Byte[] A_1, Int32 A_2, Int32 A_3) [0x00000]
  at Devart.Data.Oracle.a6.a (Int32 A_0, System.Byte[] A_1, Int32 A_2, Int32 A_3) [0x00000]
  at Devart.Data.Oracle.OracleLob.a (Boolean A_0) [0x00000]
  at Devart.Data.Oracle.OracleLob.d () [0x00000]
  at Devart.Data.Oracle.OracleLob.h () [0x00000]
  at (wrapper remoting-invoke-with-check) Devart.Data.Oracle.OracleLob:h ()
  at Devart.Data.Oracle.OracleParameter.a (OracleDbType A_0, System.Object A_1, System.Byte[] A_2, Int32 A_3, Int32 A_4, Int32 A_5, Int32 A_6, Int32 A_7, Boolean A_8, Devart.Data.Oracle.OracleConnection A_9, ParameterDirection A_10, System.String A_11, Devart.Data.Oracle.at A_12, System.Boolean& A_13) [0x00000]
  at Devart.Data.Oracle.OracleParameter.a (Devart.Data.Oracle.ap& A_0, Boolean A_1, Devart.Data.Oracle.OracleConnection A_2, System.Byte[] A_3, Devart.Data.Oracle.at A_4, System.Boolean& A_5) [0x00000]
  at (wrapper remoting-invoke-with-check) Devart.Data.Oracle.OracleParameter:a (Devart.Data.Oracle.ap&,bool,Devart.Data.Oracle.OracleConnection,byte[],Devart.Data.Oracle.at,bool&)
  at Devart.Data.Oracle.OracleCommand.a (Int32 A_0, Devart.Data.Oracle.OracleParameterCollection A_1, Devart.Data.Oracle.at A_2, System.Boolean& A_3) [0x00000]
  at Devart.Data.Oracle.OracleCommand.a (CommandBehavior A_0, IDisposable A_1, Int32 A_2, Int32 A_3) [0x00000]
  at Devart.Common.DbCommandBase.ExecuteDbDataReader (CommandBehavior behavior) [0x00000]
crazyminsc
 
Posts: 9
Joined: Tue 19 May 2009 16:32

Postby Shalex » Wed 12 Aug 2009 12:21

Please try setting the Unicode=true; parameter in your connection string. Does it help?
Shalex
Devart Team
 
Posts: 7781
Joined: Thu 14 Aug 2008 12:44

Postby crazyminsc » Wed 12 Aug 2009 12:48

Yes it works. Thank you for fast and helpful response.
crazyminsc
 
Posts: 9
Joined: Tue 19 May 2009 16:32


Return to dotConnect for Oracle