【发布时间】:2014-08-20 20:31:13
【问题描述】:
当我打电话给GetTest 时,我收到了这个错误:
字符串缓冲区太小 ORA-06512
这是我的 c# 方法:
public string GetTEST()
{
using (var conn = new OracleConnection(System.Configuration.ConfigurationManager.ConnectionStrings["Dbconnection"].ConnectionString))
{
OracleCommand cmd = new OracleCommand("Package.GetTEST");
cmd.BindByName = true;
cmd.Connection = conn;
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("P_OUT_MESSAGE", OracleDbType.Varchar2,1000,ParameterDirection.Output);
cmd.ExecuteNonQuery();
var t = cmd.Parameters["P_OUT_MESSAGE"].Value;
}
}
Oracle 程序:
PROCEDURE GetTEST
(
P_OUT_MESSAGE OUT VARCHAR2
)
IS
BEGIN
p_out_message := 'Un problème a été signalé pour votre propriété. Veuillez communiquer avec le Service de l''évaluation au 418 111-7878 ou à l''adresse test@tesst.com';
END;
【问题讨论】:
-
指定大小为 9999999999999999999 的目的是什么?
-
确保 p_out_message 大小足够...