【发布时间】:2013-07-20 10:26:17
【问题描述】:
我正在尝试通过使用 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);
}
【问题讨论】:
-
那么问题出在哪里?您看到异常了吗?
-
您遇到什么错误?我注意到您正在丢弃 try catch 块中的异常...也许您可以尝试添加
MessageBox.Show(ex.Message); -
@Belogix 我是 -1 并且我没有收到任何异常,还有一件事我无法将 PLedit 中的函数视为有效或无效对象。
-
您的连接字符串是否指定了一个有足够权限执行您正在尝试的操作的有效用户?
-
是的,我正在使用超级用户,正如我所说我可以打开连接和关闭连接,但问题是我的结果是 -1,我在应用函数列表中看不到我的函数...