【发布时间】:2015-07-01 05:41:36
【问题描述】:
我在 Oracle 11g 中编写了这个程序:
create or replace
PROCEDURE P1
(
ID_1 IN NUMBER
, P_NAME OUT VARCHAR2
) AS
BEGIN
SELECT NAME_ into p_name FROM A1 WHERE ID=ID_1;
END P1;
我用 C# 编写了这段代码来调用该过程:
OracleConnection conn = new OracleConnection("User Id=webservice_access;Password=DAMAVAND;Server=ORA11;");
//OracleConnection conn = new OracleConnection("User Id=SYSTEM;Password=123456;Server=ORA11;");
OracleCommand cmd = new OracleCommand();
cmd.Connection = conn;
cmd.CommandText = "P1";
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("ID_1", 1);
cmd.Parameters.Add("p_name", OracleType.VarChar, 16).Direction = ParameterDirection.Output;
cmd.Connection.Open();
cmd.ExecuteNonQuery();
Console.WriteLine(cmd.Parameters["p_name"].Value.ToString());
cmd.Connection.Close();
但是当我运行 C# 应用程序时,我得到了这个错误:
ORA-06512:在“WEBSERVICE_ACCESS.P1”,第 10 行
ORA-06512:在第 1 行
发生了什么?为什么会出现这个错误?
【问题讨论】:
-
指出 line1 #10
-
@utility 什么?为了理解
-
第 10 行? 1号线?只需编辑显示这些行的问题
-
您是否尝试过在 SQL 工作表(SQL*Plus、TOAD 等)中运行该过程?会发生什么?
-
@APC 是的,我的朋友,我在 sql developer 上运行该程序,一切正常!并且工作,我在两台服务器上测试该代码,一个服务器工作,另一个不工作!
标签: c# oracle stored-procedures