When I run the following .Net code:
using (var c = Shared.DataSources.BSS1.CreateCommand()) { c.CommandText = "\r\nSelect c1, c2, c3, rowid \r\nFrom someSpecificTable \r\nWhere c3 = :p0"; var p = c.CreateParameter() as Oracle.DataAccess.Client.OracleParameter; c.Parameters.Add(p); p.OracleDbType = Oracle.DataAccess.Client.OracleDbType.Varchar2; p.DbType = System.Data.DbType.AnsiString; p.Size = 20; p.Value = "007"; p.ParameterName = ":p0"; using (var r = c.ExecuteReader()) { r.Read(); } }
I get the following error:
ORA-01460: unimplemented or unreasonable conversion requested ORA-02063: preceding line from XXX
This is not my database, and I have no control over the select operations that I get, this IS table is from a database link.
The funny thing is that if I add the following code immediately before ExecuteReader, it will work fine.
c.CommandText = c.CommandText.Replace("\r\n", " ");
Unfortunately, this is not a good solution in my case, since I cannot control SQL nore, can I change it this way.
As for the table itself, the columns are: c1 Number (5) c2 varchar2 (40) c3 varchar2 (20).
I know that ORA-02063, which comes after showing something about the connection with the database, but I looked at the table, and this is not a synonym from any database_link, nor do I think that \ r \ n should influence the link to the database.
I tried to execute the request without the associated parameters, and it really worked - but again, bad practice to do it in general terms.
The problem is that a competing non-.NET tool works and therefore is not a common problem.
I also could not reproduce the problem in my own environment, it is a customer database and website. I use the instant client 11.1.6.20, and also tested it with the instant client 11.2.3.0
The db value is 10, and the db link to the oracle v8 database
Any help would be appreciated