日期:2014-05-16  浏览次数:20776 次

Oracle创建视图问题
代码如下:

  private void button3_Click(object sender, EventArgs e)
        {
            string conn_str = "provider=OraOLEDB.Oracle;data source=ECGT;User Id=sa;Password=Orcal123456;";
            OleDbConnection cn = new OleDbConnection(conn_str);
            cn.Open();
 
            try
            {
                string sql = " CREATE OR REPLACE FORCE VIEW \"V_test\" AS SELECT PATID,Sex FROM test ";
                    OleDbCommand cmd1 = new OleDbCommand(sql, cn);
                    cmd1.ExecuteNonQuery();
            }
            catch (Exception e1)
            {

            }
            finally
            {
                cn.Close();
            }
        }

执行后,不报错。但是,在PL/SQL中打开发现这个视图,是红色的,也就是说执行成功但是有错误。。
语句放PL/SQL中直接执行是没有任何问题的。这个怎么解决?

------解决方案--------------------
权限问题检查下,由于你FORCE?VIEW所以创建不检查。