利用PostgreSql数据库创建事务,进行多表数据同时插入,但是在事务提交时报错,提示“无法将数据写入传输连接,远程主机被迫关闭连接”
问题相关代码,请勿粘贴截图
public void RunInsertTransaction(string sql1,string sql2)
{
NpgsqlConnection con= new NpgsqlConnection(ConnStr)
con.open();
NpgsqlTransaction trans = con.BeginTransaction();
NpgsqlCommand cmd = new NpgsqlCommand();
cmd.Connection = con ;
cmd.Transaction = trans ;
cmd.CommandText =sql1;
cmd.ExecuteNonQuery();
cmd.CommandText =sql2;
cmd.ExecuteNonQuery();
cmd.Commit();
}
运行到第一个“cmd.ExecuteNonQuery();”就报错,提示“无法将数据写入传输连接,远程主机被迫关闭连接”。后尝试去掉数据库操作命令,只是建立空的事务,进行提交后仍然报错”“无法将数据写入传输连接,远程主机被迫关闭连接”。
public void RunInsertTransaction(string sql1,string sql2)
{
NpgsqlConnection con = new NpgsqlConnection(ConnStr)
con.open();
NpgsqlTransaction trans = con.BeginTransaction();
NpgsqlCommand cmd = new NpgsqlCommand();
cmd.Connection = con ;
cmd.Transaction = trans ;
cmd.Commit();
}
求解答。已困扰许久,实在想不通为什么。去掉事务可以正常操作数据库进行增删改查,新建事务后就不可以进行任何数据库操作。