加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – Microsoft-IIS / 8.5,Oracle输出变量被截断

发布时间:2020-12-15 08:26:18 所属栏目:百科 来源:网络整理
导读:OracleConnection connection = DBHelper.OracleConnection;OracleCommand OraCommand = connection.CreateCommand();OraCommand.CommandText = "AUTHENTICATION.Authenticate";OraCommand.CommandType = CommandType.StoredProcedure;int zero = 0;OraclePa
OracleConnection connection = DBHelper.OracleConnection;
OracleCommand OraCommand = connection.CreateCommand();

OraCommand.CommandText = "AUTHENTICATION.Authenticate";
OraCommand.CommandType = CommandType.StoredProcedure;

int zero = 0;
OracleParameter newParam = null;


OraCommand.Parameters.Add(newParam);
newParam = new OracleParameter("Authenticated",OracleType.VarChar);
newParam.Direction = ParameterDirection.Output;
newParam.Size = 4000;


OraCommand.Parameters.Add(newParam);
newParam = new OracleParameter("Message",OracleType.VarChar);
newParam.Direction = ParameterDirection.Output;
newParam.Size = 4000;
OraCommand.Parameters.Add(newParam);


newParam = new OracleParameter("Response",OracleType.VarChar);
newParam.Direction = ParameterDirection.Output;
newParam.Size = 4000;
OraCommand.Parameters.Add(newParam);

try
{
        connection.Open();
        OraCommand.ExecuteNonQuery();
        connection.Close();

        errorLabel.Text = OraCommand.Parameters["Message"].Value.ToString() ;

        if (OraCommand.Parameters["Authenticated"].Value.ToString() == "Yes")
        {


            this.Response.Redirect("Default.aspx",true);
        }else
        {
            errorLabel.Text = OraCommand.Parameters["Message"].Value.ToString() + Request.ServerVariables["SERVER_SOFTWARE"] + OraCommand.Parameters[9].Value.ToString();
        }

    }
    catch (Exception ex)
    {
        errorLabel.Text = ex.ToString();
    }

预期产出:

1) Message – You have successfully logged in

但我得到一个截断的字符串:你有成功

2) Authenticated – Yes

但我得到一个截断的字符串

?

相同的代码在IIS 7.5中工作正常,我们将服务器升级到IIS 8.5,现在我遇到了这个问题.

我确实阅读了一些关于ado.net弃用的文章并使用了odp.net.我不想将我的代码更改为ODP.net.

你有什么想法,为什么我的输出变量被截断?

当我们升级IIS 8.5时,我们在该机器上安装了12.1.0即时客户端.这会导致问题???

解决方法

这是Oracle Client 12c中的错误.它不仅截断字符串,还截断数字.恢复到客户端11g修复了问题.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读