我试图连接到我设置的Oracle数据库。之前我细讲,下面的代码:
//string was slightly altered.
string connectionString = "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=name)));User Id = system; Password = mypass; ";
string toReturn = "D.BUG-";
using (OracleConnection oracleConnection = new OracleConnection(connectionString))
{
oracleConnection.Open();
using (OracleCommand oracleCommand = new OracleCommand())
{
oracleCommand.Connection = oracleConnection;
oracleCommand.CommandText = "SELECT lixo FROM lixeira WHERE lixo IS NOT NULL";
oracleCommand.CommandType = CommandType.Text;
using (OracleDataReader oracleDataReader = oracleCommand.ExecuteReader())
{
//This point IS reached!
while (oracleDataReader.Read())
//This point is never reached...
toReturn += oracleDataReader.GetString(0);
}
}
}
return toReturn;
现在,我知道一个事实,即连接的作品,我知道一个事实,即表“lixeira”即可找到;我已通过将该名称更改为另一个名称并获取相应的“我无法找到该表”异常来测试此操作。
'ORA-00942: tabela ou visualização não existe'. (Table or View does not exist)
问题是此代码无法读取。同样的查询通过SQL Developer工作: SQL Developer screenshot of the same query
所以,我有点不知所措,为什么oracleDataReader.Read()只是从来没有工作。难道我做错了什么?
表存在,但它不存在...奇怪,你检查,你从C#登录(在你的连接字符串)用户拥有所需的权限? –
....是的。而已。你可以发布这个答案,我会接受它。非常感谢你。 – Cloud
你的欢乐,我们在这里互相帮助:) –