【问题标题】:retrieving information from an oracle database从 oracle 数据库中检索信息
【发布时间】:2011-01-11 13:54:35
【问题描述】:

我正在尝试使用数据集从 oracle 数据库中获取信息 我已经构建了我的应用程序,但我收到了这个错误, 我该如何解决?

无法从“System.Data.OracleClient.OracleCommand”转换为“System.Data.SqlClient.SqlCommand”

【问题讨论】:

  • 您似乎在某处混合了 SQL 和 Oracle 类,但如果您发布一些代码会有所帮助....
  • 问题是您为什么要尝试将 OracleCommand 转换为 SqlCommand?
  • 显示一些代码!如果您不向我们展示,我们怎么知道您犯了什么错误?

标签: c# .net database oracle


【解决方案1】:

这里有关于使用 Oracle 提供程序的详细信息:

http://download.oracle.com/docs/cd/B25329_01/doc/appdev.102/b25312/building_odp.htm#CEGBBCEF

来自这些文档的 sn-p:

    string sql = "select department_name from departments where department_id = " +
      ":department_id";

OracleCommand cmd = new OracleCommand(sql, conn);
    cmd.CommandType = CommandType.Text;
    OracleParameter p_department_id = new OracleParameter(); 
    p_department_id.OracleDbType = OracleDbType.Decimal;     
    p_department_id.Value = 20;                              
    cmd.Parameters.Add(p_department_id);                     

    OracleDataReader dr = cmd.ExecuteReader();
    dr.Read();

    departments.Items.Add(dr.GetString(0));

【讨论】:

    【解决方案2】:

    问题是您试图将 OracleDBCommand(即特定于 Oracle 的命令)转换为 SQLCommand(即特定于 SQLServer 的命令)。

    如果你想抽象,你必须做的是转换为 DBCommand 类。 DBCommand 是特定提供程序命令类的所有 Command 类的基类。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-11
      • 1970-01-01
      • 1970-01-01
      • 2012-03-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多