2013-06-21 5 views
0

여러분!Oracle에서 호환되지 않는 데이터 유형

Oracle Provider (Devart)와 ORM (Entity Framework)을 함께 사용하면 Oracle이 실행할 수없는 SQL이 생성됩니다. 나는 누가이 문제를 일으키는 지 모르겠다. 아마도 Devart는 환경을 설정했기 때문에 실행할 수있는 SQL을 생성 할 것이다.

내가 생각할 수있는 두 가지 가능성이있다 :

  • Devart 쓰레기를 발생은;
  • 오라클이 올바르게 설정되지 않았습니다.

나는 그들이 같은 상황으로 실행할 수 있도록 샘플 Devart을 제공하기 위해 다소 어려울 것이라고 생각 (나는 그들 here를 요청했습니다) 그래서이 두 번째를 볼 수 있습니다. 작동하지 않는

코드 : 작동

SELECT  TO_CHAR(NULL) AS EXPR2 
FROM   SYS.DUAL 
UNION ALL 
SELECT  TO_NUMBER(NULL) AS EXPR2 
FROM   SYS.DUAL DUAL_1 

코드 :

에서 볼 수있는 바와 같이

SELECT  TO_NUMBER(NULL) AS EXPR2 
FROM   SYS.DUAL 
UNION ALL 
SELECT  TO_CHAR(NULL) AS EXPR2 
FROM   SYS.DUAL DUAL_1 
는 오라클이 첫 번째 선택이 숫자 열을 제공하는 경우 다른 유형을 수용한다. 그러나 우리의 공급자는 역 상황 (첫 번째 문자 다음 숫자)을 생성합니다.

질문 : 첫 번째 SQL 샘플을 받아들이 기 위해 Oracle에서 수행해야 할 설정이 있습니까?

불행하게도 우리는이 패턴을 생성하는 것이 무엇인지 모르지만 시도하고 싶다면 linq는 here입니다.

감사합니다.

+2

두 문장의 차이점은 없습니다. 복사하여 붙여 넣기 오류가 있습니까? –

+0

"Unable to execute"는 문제에 대한 다소 모호한 설명입니다. 나는 그 문제가 당신이 어떤 종류의 오류를 낳는다 고 가정하고있다. 그렇다면 오류 (Oracle 오류 번호 및 메시지 텍스트)를 게시하는 것이 도움이 될 것입니다. 나는 당신이 "ORA-01790 : 표현식은 상응하는 표현식과 동일한 데이터 유형을 가져야 만합니다"오류가 발생했다는 것을 추측하고 있습니다. –

+0

정확한 오류 코드를 제공하십시오. – OldProgrammer

답변

0

작동하도록 설정을 변경할 필요가 없습니다. 벤 (Ben)이 어떻게 작동하는지 완벽하게 답변 한 답변 enter link description here을 읽어보십시오.

+0

오라클에서 할 수있는 일이 없으면 우리는 Devart . Txx –