首页新闻找找看学习计划

.net core oracle

0
[已解决问题] 解决于 2018-07-09 14:45

我用了 Oracle.ManagedDataAccess.Client

 

 

string connectionString = "。。。";
using (OracleConnection conn = new OracleConnection(connectionString))
{
if (conn.State == ConnectionState.Closed)
{
conn.Open();
}

//OracleTransaction transaction = conn.BeginTransaction();
try
{
using (OracleCommand com = new OracleCommand())
{
foreach (HosDept dept in listDepts)
{
string sql = "。。。";
OracleParameter[] par = new OracleParameter[13];
。。。
par[12] = new OracleParameter("DESCRIPTION", dept.Desc);
com.Parameters.AddRange(par);
//com.Transaction = transaction;
com.CommandType = CommandType.Text;
com.CommandText = sql;
com.ExecuteNonQuery();
}
}
}
catch (Exception e)
{
//transaction.Rollback();
throw e;
}

 

这样执行报错,报错内容如下:

{System.InvalidOperationException: Operation is not valid due to the current state of the object.
at Oracle.ManagedDataAccess.Client.OracleCommand.ValidateStatePriorToExecution()
at Oracle.ManagedDataAccess.Client.OracleCommand.ExecuteScalar()
at PlatformAdmin.DBUtils.DeptsDAL.CreateHosDepts(List`1 listDepts) in C:\Users\HY\Desktop\projects\SRC\CapInfo.BJHL\RealtimeBiz\CenterSide\WeChat\HisAdapterApi\PlatformAdmin\DBUtils\DeptsDAL.cs:line 51}

HOYU_Z的主页 HOYU_Z | 菜鸟二级 | 园豆:238
提问于:2018-07-09 13:38
< >
分享
最佳答案
0

建议使用 Dapper ,推荐园子里的一篇博文:[译]ASP.NET Core Web API 中使用Oracle数据库和Dapper看这篇就够了

奖励园豆:5
dudu | 高人七级 |园豆:39361 | 2018-07-09 14:26
其他回答(1)
0

com没有连接对象,把conn付给com就可以了

HOYU_Z | 园豆:238 (菜鸟二级) | 2018-07-09 14:45
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册