我正在为我的应用程序配置文件中定义的SQL Server和Oracle数据库编写C#应用程序。当我在SQL Server环境中运行代码时,它工作正常。我得到正确的结果。OracleDataAdapter未从查询填充DataTable
工作SQL Server的代码是在这里:
sqlConn.Open();
stmt = "SELECT ACTION_ID, ACTION FROM DB.ACTIONS WHERE ACTION_DATE < GETDATE() AND STATUS = 'Pending'";
SqlDataAdapter sqlAdapt = new SqlDataAdapter(stmt, sqlConn);
sqlAdapt.Fill(dt);
sqlConn.Close();
不工作的甲骨文代码如下:
oraConn.Open();
stmt = "SELECT ACTION_ID, ACTION FROM DB.ACTIONS WHERE ACTION_DATE < SYSDATE AND STATUS = 'Pending'";
OracleDataAdapter oraAdapt = new OracleDataAdapter(stmt, oraConn);
oraAdapt.Fill(dt);
oraConn.Close();
我试图填补数据表DT的结果。我曾尝试先使用DataSet并使用DataSet填充DataTable,但在SQL Server中无法在Oracle中使用它。这似乎有一些简单的缺失。
我没有收到任何错误,我只是从Oracle得到一个0结果集,即使我知道那里有数据要被拉取。
您使用的是什么版本的Oracle,并且您是否使用Oracle中的任何模式命名? – Turbot 2012-04-02 20:42:31
我使用的是10.2。在这个例子中,模式是“DB”,即使它真的是别的东西。我能够在SQL Developer中运行查询,并得到2个结果。 – Matthew 2012-04-02 20:43:47
Oracle Database 10g快速版版本10.2.0.1.0 - 产品 PL/SQL版本10.2.0.1.0 - 生产 核心\t 10.2.0.1.0 \t生产 TNS for 32-bit Windows:Version 10.2.0.1.0 - 生产 NLSRTL版本10.2.0.1.0 - 生产 – Matthew 2012-04-02 20:52:11