【问题标题】:ASP.NET C# Web Service Oracle package returns empty stringASP.NET C# Web 服务 Oracle 包返回空字符串
【发布时间】:2014-11-15 16:22:27
【问题描述】:

我有 Oracle 包程序,它将 XML 字符串作为输入变量并输出 XML 字符串。我正在尝试编写一个 Web 服务,但它返回空字符串 (null) 而不是 XML 字符串。

代码:

    [WebMethod]
    public string packageCall(string xmlStr)
    {
        OracleConnection oraCon = new OracleConnection();
        oraCon.ConnectionString = "Data Source="+database+";User Id="+ userId+";Password="+pass+";";
        oraCon.Open();
        OracleCommand objCmd = new OracleCommand("PKG_WEBSERV11.TEST",oraCon);
        objCmd.CommandType = CommandType.StoredProcedure;
        objCmd.Parameters.Add("P_IN", xmlStr.ToString());
        objCmd.Parameters.Add("P_OUT", OracleDbType.Varchar2).Direction = ParameterDirection.Output;
        try
        {
            objCmd.ExecuteNonQuery();
            string result = "<!--[CDATA] "+objCmd.Parameters["P_OUT"].Value +" -->";
            return result;
        }
        catch (Exception ex)
        {
            return "Error: +"+ex;
        }
        finally
        {
            oraCon.Close();
        }
    }

包装:

    PKG_WEBSERV11
    PROCEDURE TEST (P_IN IN VARCHAR2, P_OUT OUT VARCHAR2)

【问题讨论】:

    标签: c# asp.net oracle visual-studio-2010 web-services


    【解决方案1】:

    盯着代码看了几个小时后,我意识到解决方案比预期的要简单得多!

    objCmd.Parameters.Add("P_IN", OracleDbType.Varchar2).Value = xmlStr;
    

    【讨论】:

      猜你喜欢
      • 2014-08-24
      • 2014-03-18
      • 2018-04-30
      • 2013-09-05
      • 1970-01-01
      • 1970-01-01
      • 2012-02-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多