0

我正在尝试通过使用 odp.net 将功能应用到我的 oracle 数据库中,但我不能,您介意帮助我吗?该程序假设为我将所有后端对象应用到我的数据库中。(一个包含多个 ddl 脚本[插入、创建表或删除和更改表]、应用函数、过程或包的文件)

我正在做这个活动以在我们的客户端自动应用对象。

这个软件应该和 PLEdit 软件一样工作。

文本框1.文本:

create or replace FUNCTION bfn_severity_temp (p_severity                CMMT_FIX_MASTER.N_severity%TYPE)
    RETURN VARCHAR2

    IS
   BEGIN
        IF p_severity = 1 THEN
            RETURN 'Mission Critical';
        ELSIF p_severity = 2 THEN
            RETURN 'High';
        ELSIF p_severity = 3 THEN
            RETURN 'Medium';
        ELSIF p_severity = 4 THEN
            RETURN 'High';
        END IF;
   END;

我的 c# 代码如下:

try{
        OracleConnection oConn = new OracleConnection(ConnectionString);

            //OracleTransaction trans = oConn.BeginTransaction(IsolationLevel.ReadCommitted);

            OracleCommand oc = new OracleCommand();
            //oc.CommandType = CommandType.TableDirect;
            oc.CommandText = textBox1.Text;
            //oc.Transaction = trans;
            oc.Connection = oConn;
            int i  = 0;
            oConn.Open();
            i = oc.ExecuteNonQuery();
            oConn.Close();
            MessageBox.Show(i.ToString());
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
            MessageBox.Show(ex.Message);
        }
4

1 回答 1

1
  1. 请记住,查看 DDL 您在连接定义的模式中创建对象。如果您连接的超级用户是“系统”,那就是寻找您的对象的地方。

  2. 您的对象可能在创建后无效,但将在第一次使用时编译(如果对象是可编译的)或者,您可以添加以下内容alter function <name> compile

于 2013-07-20T02:26:17.797 回答