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(); } 预期产出:
但我得到一个截断的字符串:你有成功
但我得到一个截断的字符串 ? 相同的代码在IIS 7.5中工作正常,我们将服务器升级到IIS 8.5,现在我遇到了这个问题. 我确实阅读了一些关于ado.net弃用的文章并使用了odp.net.我不想将我的代码更改为ODP.net. 你有什么想法,为什么我的输出变量被截断? 当我们升级IIS 8.5时,我们在该机器上安装了12.1.0即时客户端.这会导致问题??? 解决方法
这是Oracle Client 12c中的错误.它不仅截断字符串,还截断数字.恢复到客户端11g修复了问题.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |