代码之家  ›  专栏  ›  技术社区  ›  EBGreen

查询挂起

  •  0
  • EBGreen  · 技术社区  · 16 年前

    好吧,这看起来很简单,但我找不到拯救我生命的方法。我正在尝试对Oracle数据库执行一个非常简单的插入查询。我可以使用与代码中相同的凭证登录toad中的db,运行insert而不产生任何问题,这样我就可以知道凭证没有权限问题,查询本身语法正确。当我尝试运行下面的代码时,它只是挂起。没有错误或什么。我可以在toad中看到会话弹出,据我所知,代码建立了毫无问题的连接。代码如下:

            String connStr = "Data Source=DB;User id=<USER>;Password=<PASSWORD>;";
            String query = "INSERT INTO table (fields) VALUES (values)";
    
            OracleConnection conn = new OracleConnection(connStr);
            conn.Open();
            OracleCommand cmd = conn.CreateCommand();
            cmd.CommandText = query;
            cmd.CommandType = CommandType.Text;
            cmd.ExecuteNonQuery();
            conn.Close();
            conn.Dispose();
    

    我还尝试使用ADO连接,得到了相同的结果。任何想法都会受到赞赏。

    2 回复  |  直到 16 年前
        1
  •  3
  •   Mark Roddy    16 年前

    您是否在toad中提交或回滚了事务?您的应用程序可能正在等待由Toad创建的会话持有的锁。

        2
  •  0
  •   Harper Shelby damiankolasa    16 年前

    您是否尝试将其包装在事务中并在插入后显式提交?与SQL Server不同,Oracle的默认语义非常面向事务。