东东小屋 2017-02-23 06:33 采纳率: 50%
浏览 1321

c#操作Vertica数据库时,无法访问已关闭的流

c#操作Vertica数据库时,打开多个页面偶尔会出现这个错误,无法访问已关闭的流

具体的代码位置是

da.Fill(ds);

da是VerticaDataAdapter

未处理System.ObjectDisposedException
HResult=-2146232798
Message=无法访问已关闭的流。
ObjectName=""
Source=mscorlib
StackTrace:
在 System.IO.__Error.StreamIsClosed()
在 System.IO.BufferedStream.Read(Byte[] array, Int32 offset, Int32 count)
在 Vertica.Data.Internal.IO.VStream.ReceiveIntegerR(Int32 siz)
在 Vertica.Data.Internal.IO.RowData.readNextColumn()
在 Vertica.Data.Internal.IO.RowData.readAll()
在 Vertica.Data.Internal.IO.DataRowResponseMessage.FinishReadRow()
在 Vertica.Data.Internal.IO.ProtocolStream.ReadMessage()
在 Vertica.Data.Internal.DataEngine.VResultSet.FetchChunk(Boolean clearExistingRowCache)
在 Vertica.Data.Internal.DataEngine.VResultSet.MoveToNextRow()
在 Vertica.Data.Internal.DataEngine.VResultSet.CloseCursor()
在 Vertica.Data.Internal.ADO.Net.SDataReader.Close()
在 Vertica.Data.Internal.ADO.Net.SDataReader.Dispose(Boolean disposing)
在 System.Data.Common.DbDataReader.Dispose()
在 System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
在 System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
在 System.Data.Common.DbDataAdapter.Fill(DataSet dataSet)
在 NHibernateVertica.VerticaDataHelper.FillDataTable(VerticaDataAdapter da, DataSet& ds, Boolean& isDone) 位置 F:\code\com.km.site\NHibernateVertica\VerticaDataHelper.cs:行号 224
在 NHibernateVertica.VerticaDataHelper.<>c__DisplayClass12_0.b__0() 位置 F:\code\com.km.site\NHibernateVertica\VerticaDataHelper.cs:行号 160
在 System.Threading.ThreadHelper.ThreadStart_Context(Object state)
在 System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
在 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
在 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
在 System.Threading.ThreadHelper.ThreadStart()
InnerException:

  • 写回答

1条回答

  • threenewbee 2017-02-23 08:14
    关注

    检查你的代码,你是否不正确使用了 close 或者 dispose/using ,导致访问的流对象已经关闭了。

    评论

报告相同问题?

悬赏问题

  • ¥15 运筹学排序问题中的在线排序
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥30 求一段fortran代码用IVF编译运行的结果
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥30 python代码,帮调试,帮帮忙吧
  • ¥15 #MATLAB仿真#车辆换道路径规划