我们有2台服务器。我正在使用.Net和oracle。两台服务器都具有相同的oracle版本11g(11.2.0.1.0)。
一个场景(从Database表中获取值,在一个列数据类型中是CLOB并绑定到div)在一个服务器中正常工作。但同样的情况是 在另一台服务器上发出异常。
.net应用程序日志说,
2015-05-22 10:26:16,836 [152152] ERROR System.Data.OracleClient.OracleException (0x80131938): ORA-12582: TNS:invalid operation
at System.Data.OracleClient.OracleConnection.CheckError(OciErrorHandle errorHandle, Int32 rc)
at System.Data.OracleClient.OracleLob.Read(Byte[] buffer, Int32 offset, Int32 count)
at System.IO.StreamReader.ReadBuffer()
at System.IO.StreamReader.ReadToEnd()
at System.Data.OracleClient.OracleLob.get_Value()
at System.Data.OracleClient.OracleColumn.GetValue(NativeBuffer_RowBuffer buffer)
at System.Data.OracleClient.OracleDataReader.GetValues(Object[] values)
at System.Data.ProviderBase.SchemaMapping.LoadDataRow()
at System.Data.Common.DataAdapter.FillLoadDataRow(SchemaMapping mapping)
at System.Data.Common.DataAdapter.FillFromReader(DataSet dataset, DataTable datatable, String srcTable, DataReaderContainer dataReader, Int32 startRecord, Int32 maxRecords, DataColumn parentChapterColumn, Object parentChapterValue)
我搜索过这个问题,我发现只有这个,
Action: Not normally visible to the user. For further details, turn on tracing and reexecute the operation. If error persists, contact Oracle Customer Support.
我找到了其他任何解决方案。另外,我不知道如何处理这个问题。
注意:所有其他与数据库相关的东西都运行正常。
答案 0 :(得分:1)
这对我有用。我没有直接获取CLOB数据,而是这样做......
DBMS_LOB.substr(VALUE, 5000) AS VALUE
不确定,这是否是正确的解决方案。但它对我有用。