我使用的是unity开发的,引用的Oracle.ManagedDataAccess.dll,在正常的编辑器界面怎么执行都没事,但是一旦打包发布出来执行查询类语句就报错,虽然也能查出结果来,但是很难受,报错如下:
System.InvalidOperationException: 对已关闭对象的操作无效
at Oracle.ManagedDataAccess.Client.OracleDataReader.get_SchemaTables () [0x00018] in <9bc12affb845411fa19eff17a384ba24>:0
at (wrapper remoting-invoke-with-check) Oracle.ManagedDataAccess.Client.OracleDataReader:get_SchemaTables ()
at Oracle.ManagedDataAccess.Client.OracleDataAdapter.Fill (System.Data.DataTable dataTable, System.Data.IDataReader dataReader) [0x00069] in <9bc12affb845411fa19eff17a384ba24>:0
at Oracle.ManagedDataAccess.Client.OracleDataAdapter.Fill (System.Data.DataTable dataTable, System.Data.IDbCommand command, System.Data.CommandBehavior behavior) [0x00123] in <9bc12affb845411fa19eff17a384ba24>:0
at System.Data.Common.DbDataAdapter.Fill (System.Data.DataTable dataTable) [0x00019] in <cd1c5a12fe914342bd91501d6488959f>:0
at (wrapper remoting-invoke-with-check) System.Data.Common.DbDataAdapter:Fill (System.Data.DataTable)
at OracleHelper.SelectDataSet (System.String sql, System.String serverID, System.String nullstr) [0x0008b] in <017d81c61d0449d58102783a5bfca73f>:0
,主要就在于
cmd.CommandText = sql;
OracleDataAdapter oda = new OracleDataAdapter(cmd);
oda.Fill(das);
中的fill这一步,
System.InvalidOperationException: 对已关闭对象的操作无效
at Oracle.ManagedDataAccess.Client.OracleDataReader.get_SchemaTables () [0x00018] in <9bc12affb845411fa19eff17a384ba24>:0
at (wrapper remoting-invoke-with-check) Oracle.ManagedDataAccess.Client.OracleDataReader:get_SchemaTables ()
at Oracle.ManagedDataAccess.Client.OracleDataAdapter.Fill (System.Data.DataTable dataTable, System.Data.IDataReader dataReader) [0x00069] in <9bc12affb845411fa19eff17a384ba24>:0
at Oracle.ManagedDataAccess.Client.OracleDataAdapter.Fill (System.Data.DataTable dataTable, System.Data.IDbCommand command, System.Data.CommandBehavior behavior) [0x00123] in <9bc12affb845411fa19eff17a384ba24>:0
at System.Data.Common.DbDataAdapter.Fill (System.Data.DataTable dataTable) [0x00019] in <cd1c5a12fe914342bd91501d6488959f>:0
at (wrapper remoting-invoke-with-check) System.Data.Common.DbDataAdapter:Fill (System.Data.DataTable)
at OracleHelper.SelectDataSet (System.String sql, System.String serverID, System.String nullstr) [0x0008b] in <017d81c61d0449d58102783a5bfca73f>:0
,主要就在于
cmd.CommandText = sql;
OracleDataAdapter oda = new OracleDataAdapter(cmd);
oda.Fill(das);
中的fill这一步,