我试图从C#console应用程序中的oracle db table获取数据。 但我得到的是System.InvalidOperationException,其中包含以下描述:
未处理的异常:System.InvalidOperationException:由于对象的当前状态,操作无效。 在Oracle.DataAccess.Client.OracleDataReader.GetValue(Int32 i) 在GetDataFromOracleDb.Program.Main(String [] args)中的C:\ Users \ User \ GetDataFromOracleDb \ GetDataFromOracleDb \ Program.cs:第26行
我的C#代码是:
static void Main(string[] args) {
var cs = "Data Source=DEMO;User Id=taxworker;Password=password;";
using (var conn = new OracleConnection(cs)) {
conn.Open();
var query = "select * from testtable";
using (var cmd = new OracleCommand(query, conn)) {
cmd.CommandType = CommandType.Text;
var dr = cmd.ExecuteReader();
Console.WriteLine(dr.Read());
Console.WriteLine(dr[0].ToString());
}
conn.Close();
}
}
SQL Developer中的相同查询返回3行。
此外,我试图从" system"下的随机表格中获取数据。用户并获得所有行,没有例外。为此,我更改了连接字符串和查询:
var cs = "Data Source=DEMO;User Id=system;Password=admin;";
var query = "select * from help";
我的问题是: 为什么我得到这个例外? 我需要做些什么来解决这个问题?