我试图通过将odp.net应用到我的oracle数据库中来应用一个函数,但我不能,你介意请帮帮我吗? 该程序假设将我的所有后端对象应用到我的数据库中。(包含多个ddl脚本[insert,create table或delete and alter table]的文件,应用函数,过程或包)
我正在为客户端的自动应用对象执行此活动。
该软件应与PLEdit软件一样工作。
textbox1.text:
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);
}
答案 0 :(得分:1)
请记住,在DDL中,您可以在连接定义的模式中创建对象。如果你连接的超级用户是“系统”,那么就是寻找你的对象的地方。
您的对象在创建后可能无效,但会在第一次使用时编译(如果对象是可编译的)
或者,您可以添加以下alter function <name> compile