を公開し、私は、ストアドプロシージャ、次のいる:PL/SQL:数値または値のエラー:文字列バッファが小さすぎ - アプリをリモート
create or replace PROCEDURE TEST_REQUEST(
outHTML OUT VARCHAR2,
varParameters IN XMLTYPE)
IS
tmpVar NUMBER;
BEGIN
outHTML :=
'<table><tr><td>Test!</td></tr></table>';
EXCEPTION
WHEN NO_DATA_FOUND
THEN
NULL;
WHEN OTHERS
THEN
-- Consider logging the error and then re-raise
RAISE;
END TEST_REQUEST;
入力パラメータ 'varParameters' =
'<test>
<testid>3DA736A8A4562E053D6</testid>
<testaction>Reject</testaction>
</test>'
そして私を上記のストアドプロシージャを呼び出します。
using (OracleConnection connection = new OracleConnection())
{
connection.ConnectionString = this.ConnectionString;
connection.Open();
using (OracleCommand command = new OracleCommand())
{
command.Connection = connection;
command.CommandType = CommandType.StoredProcedure;
command.BindByName = true;
command.CommandText = "TEST_OWNER.TEST_REQUEST ";
OracleParameter outHtml = command.Parameters.Add("outHTML", OracleDbType.Varchar2);
outHtml.Direction = ParameterDirection.Output;
outHtml.Size = Int16.MaxValue;
command.Parameters.Add("varParameters", OracleDbType.XmlType).Value = doc;
command.ExecuteNonQuery();
....
}
connection.Close();
}
すべてを正常に実行するには、localhostアプリがリモートで公開されました。次のエラーが表示されます。
ORA-06502: PL/SQL: numeric or value error: character string buffer too >small\nORA-06512: at \"TEST_REQUEST \"
私は例外を引き起こす可能性があります。 outパラメータのサイズがかなり高く設定されています。私はODACドライバをチェックしました。何か案は?
それはoutHTMLで動作しますか:= ''?またはoutHTML:= '1'? – jva
動作しません。 – grape