oracleDatareader.ExecuteReader()不返回任何数据

时间:2015-10-15 14:15:52

标签: asp.net

我在ASP.NET中编写了一个代码来从Oracle数据库中获取数据。代码从本地托管的Oracle DB返回数据,但是当我指向远程OracleDB时,没有任何结果。但是,如果我使用SQL Developer Tool在远程数据库上运行相同的查询,它可以正常工作。 我已经调试了正确的SQL语句代码,这绝对是正确的。

以下是我的代码段

using (Oracle.DataAccess.Client.OracleConnection con = new
Oracle.DataAccess.Client.OracleConnection())
        {
                con.ConnectionString = ConfigurationManager.ConnectionStrings["ca_eFormsVSED"].ConnectionString;
                con.Open();

                // query for fetch username and market
                String sql = "a valid query"

                Oracle.DataAccess.Client.OracleCommand cmd = new Oracle.DataAccess.Client.OracleCommand(sql, con);
                cmd.CommandType = CommandType.Text;
                if (con.State == ConnectionState.Open)
                {
                    Oracle.DataAccess.Client.OracleDataReader dr = cmd.ExecuteReader();
                }
                if (dr.Read())
                {
                   //Do Something
                }
        }

请建议如何使其发挥作用。

1 个答案:

答案 0 :(得分:3)

我得到了这个问题的解决方案,它可能会帮助其他人。如果您100%确定代码是正确的并且当前SQL语句从数据库返回数据,那么请仔细检查您的数据库表是否具有依赖性。删除现有表并再次导入新数据,它对我来说很好。