【问题标题】:Asp.net C# web service - oracle connectionAsp.net C# web 服务 - oracle 连接
【发布时间】:2013-02-27 10:11:44
【问题描述】:

我已经为员工休假请求编写了一个 Web 服务。

它有 3 个 Web 服务......

2个连接SQL数据源,1个连接oracle DB。

请注意,Oracle [Web 方法] 在浏览器上运行时甚至不显示,而调用其他方法。另请注意,我测试了此连接设置并在 asp 中执行。 C# 作为一种应用程序方法是有效的。

[WebMethod]       
public DataSet Leave_balance(string empNo)
{
    string oradb = "Data Source=hRPROD;UserId=HR;Password=hr;";
    //string oradb = "Data Source=(DESCRIPTION="
    //    + "(ADDRESS=(PROTOCOL=TCP)(HOST=esnaadhrsrv1)(PORT=1521))"
    //     + "(CONNECT_DATA=(SERVICE_NAME=hr1)));"
    //     + "User Id=hr;Password=hr;";
    OracleConnection conn = new OracleConnection();
    conn.ConnectionString = oradb;
    conn.Open();
    OracleCommand cmd = conn.CreateCommand();
    //cmd.CommandText = "Select * from emp_intranet_leave where reg_no='" + empNo + "'";
    cmd.CommandText = "Select * from emp_intranet_leave";
    cmd.ExecuteNonQuery();
    OracleDataAdapter adapter = new OracleDataAdapter(cmd);
    adapter.SelectCommand.Parameters.Add("emp_no", OracleType.Int32).Value = 2415;
    DataSet ds = new DataSet();
    adapter.Fill(ds);
    conn.Close();
    return (ds);
}

【问题讨论】:

  • 您似乎没有提到问题所在?它有任何错误吗?如果是这样,它们是什么以及它们的堆栈跟踪?它会默默地失败吗?
  • 嗯,您返回的 DataSet 让我想起了 Returning Datasets
  • 你如何为此生成 wsdl? wsdl.exe 如何确定您返回的究竟是什么?

标签: c# asp.net web-services oracle connection


【解决方案1】:

而不是使用数据集使用类概念。跟踪是否从 oracle 数据库中检索到数据。如果没有获取数据,请检查您的数据库连接。您可以使用列表或字符串 (xml) 数据从 webmethod 返回数据。

【讨论】:

  • 感谢您的回复。请注意,我在 C# 应用程序中测试此方法,它在 datagrid 视图中显示数据。我也可以传递参数...当我放置 web 服务方法时,它没有给出任何结果或错误。
  • 请将返回类型从数据集更改为类模型。然后检查值。
  • 这对你有用吗...如果对你有帮助,请作为答案。
猜你喜欢
  • 2015-09-07
  • 2015-07-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-15
相关资源
最近更新 更多