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

前端之家收集整理的这篇文章主要介绍了c# – Microsoft-IIS / 8.5,Oracle输出变量被截断前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
  1. OracleConnection connection = DBHelper.OracleConnection;
  2. OracleCommand OraCommand = connection.CreateCommand();
  3.  
  4. OraCommand.CommandText = "AUTHENTICATION.Authenticate";
  5. OraCommand.CommandType = CommandType.StoredProcedure;
  6.  
  7. int zero = 0;
  8. OracleParameter newParam = null;
  9.  
  10.  
  11. OraCommand.Parameters.Add(newParam);
  12. newParam = new OracleParameter("Authenticated",OracleType.VarChar);
  13. newParam.Direction = ParameterDirection.Output;
  14. newParam.Size = 4000;
  15.  
  16.  
  17. OraCommand.Parameters.Add(newParam);
  18. newParam = new OracleParameter("Message",OracleType.VarChar);
  19. newParam.Direction = ParameterDirection.Output;
  20. newParam.Size = 4000;
  21. OraCommand.Parameters.Add(newParam);
  22.  
  23.  
  24. newParam = new OracleParameter("Response",OracleType.VarChar);
  25. newParam.Direction = ParameterDirection.Output;
  26. newParam.Size = 4000;
  27. OraCommand.Parameters.Add(newParam);
  28.  
  29. try
  30. {
  31. connection.Open();
  32. OraCommand.ExecuteNonQuery();
  33. connection.Close();
  34.  
  35. errorLabel.Text = OraCommand.Parameters["Message"].Value.ToString() ;
  36.  
  37. if (OraCommand.Parameters["Authenticated"].Value.ToString() == "Yes")
  38. {
  39.  
  40.  
  41. this.Response.Redirect("Default.aspx",true);
  42. }else
  43. {
  44. errorLabel.Text = OraCommand.Parameters["Message"].Value.ToString() + Request.ServerVariables["SERVER_SOFTWARE"] + OraCommand.Parameters[9].Value.ToString();
  45. }
  46.  
  47. }
  48. catch (Exception ex)
  49. {
  50. errorLabel.Text = ex.ToString();
  51. }

预期产出:

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修复了问题.

猜你在找的C#相关文章