2013-05-06 2 views
0

을 제공합니다 나는 오라클 DB를 사용하고 간단한 선택 쿼리를 호출하지만 오라클은 이상한 오류 메시지 던지고 오전 :방법 OleDbDataReader가 지원되지 않는 데이터 형식 오류

첫째 예외 유형의 '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..."); 
     } 

을가 설명한 오류 메시지가 위에 인쇄 한 후 예외를 thorws 디버깅 :

This is CDB Class

이 내가 부르고 방법이다. 내가 뭘 잘못하고 있니?

데이터베이스 스키마에 게시 된 스키마의

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

읽으려는 표의 스키마를 표시해야합니다. – Steve

+0

[테이블에 clob 열이 있다고 생각합니다] (http://stackoverflow.com/questions/2537613/how-to-read-a-clob-column-in-oracle-using-oledb) – V4Vendetta

+0

@Steve Schema – Volatil3

답변

1

유일한 문제를 일으킬 데이터 유형은 TIMESTAMP하지만 OLE DB 10g를 지원하는 문서에 따라. Find out more.

따라서 최신 버전의 OLE DB를 사용하고 있지 않거나 테이블에 대한 애매한 문제가 있습니다. 이 디버깅의 무심하고 그러나 절대 안전한 방법은 쿼리에 일부 열 이름을 지정하고 어느 것이 좋지 않은지를 찾는 것입니다.

+0

문제는 특정 쿼리/루틴, 다른 선택 쿼리가 잘 작동하는 다른 방법입니다. OleDbDataReader는 null을 반환합니다. – Volatil3

+0

APC 당신이 옳았습니다! asterik 대신 열 이름을 언급하는 것이 효과적입니다. 기묘한. 무엇이 문제 일 수 있습니까? – Volatil3

관련 문제