我正在使用Oracle Db并调用简单选择查询,但Oracle正在抛出一个奇怪的错误消息:
类型'System.Data.OleDb.OleDbException'的第一次机会异常 发生在System.Data.dll中未指定错误发生Oracle错误, 但无法从Oracle检索错误消息。数据类型不是 支撑。
这就是我的电话:
CDb conn = new CDb();
conn.getConnection();
System.Data.OleDb.OleDbDataReader reader = null;
String query = "Select * FROM Table";
reader = conn.find(query);
while (reader.Read())
{
Console.WriteLine("Going...");
}
在打印上面提到的错误消息后,它会调试它。我做错了什么?
数据库架构:
SB_ID NOT NULL NUMBER(11)
SB_TITLE VARCHAR2(200)
SB_ONDATE TIMESTAMP(0)
SB_RCVDDATE_QAMRI VARCHAR2(10)
SB_RCVDDATE_SHAMSI DATE
SB_MODE NUMBER(1)
SB_PREFERENCE NUMBER(1)
SB_STATUS NUMBER(1)
SB_RASEED_ISSUED NUMBER(1)
SB_MUJIB_ID NUMBER(11)
SB_RECVD_BY_ID NUMBER(11)
SB_MUSTAFTI_FULLNAME VARCHAR2(100)
SB_MUSTAFTI_ADDRESS VARCHAR2(100)
SB_MUSTAFTI_COUNTRY NUMBER(3)
SB_MUSTAFTI_CITY VARCHAR2(100)
SB_MUSTAFTI_STATE VARCHAR2(100)
SB_MUSTAFTI_MOBILE VARCHAR2(20)
SB_MUSTAFTI_PHONE VARCHAR2(20)
SB_MUSTAFTI_FAX VARCHAR2(20)
SB_MUSTAFTI_EMAIL VARCHAR2(40)
SB_MUSTAFTI_NIC VARCHAR2(20)
SB_DISTRIBUTION_DATE DATE
SB_ISSUEDATE_QAMRI VARCHAR2(10)
SB_ISSUEDATE_SHAMSI DATE
答案 0 :(得分:1)
发布模式中唯一可能有问题的数据类型是TIMESTAMP,但是根据OLE DB 10g支持的文档。 Find out more
所以,要么你没有使用现代版本的OLE DB,要么你的表有一个更加模糊的问题。一种令人厌烦但又万无一失的调试方法是在查询中指定一些列名,找出它不喜欢哪一个。