우선 배경 비트. 우리 회사는 Informix 데이터베이스를 Oracle 10g로 마이그레이션할지 여부를 평가하고 있습니다. 우리에게는 여러 ESQL/C 프로그램이 있습니다. 필자는 Oracle Migration Workbench를 통해 약간의 테스트를 거쳤습니다. 이제 몇 가지를 깨닫게되었습니다.Informix에서 Oracle : Null 값을 가져 오는 작업 다루기
먼저 동적 SQL 문은 널값을 전혀 처리하지 않습니다. 내가 읽은 바로는 nvl() 함수를 활용하거나 표시기 변수를 구현하기 위해 쿼리를 수동으로 수정해야합니다. 수동 수정이 필요한지 다른 사람이 확인할 수 있습니까? 변환 된 ESQL/C 프로그램에 대해 수동으로 변경하는 것이 가장 적을수록 좋습니다.
둘째, 우리는 등 다양한 테이블에서 날짜를 당겨 몇 가지 질문이 및 Informix에 날짜가 긴 타입, 12 월 31 일 이후 일의 #, 프로에서 1899
* C, 어떤 형식으로 처리됩니다 날짜가? 난 내 긴 변수에 날짜 필드를 선택하고 오라클 오류가 "예상 NUMBER하지만 날짜가있어"얻으려고했기 때문에 그것은 숫자가 아니라는 것을 압니다. 따라서 우리는 날짜 필드를 선택하는 방법을 수정해야한다고 가정합니다. 변환 된 방식으로 날짜 필드를 선택하여 (예 : 1899 년 12 월 31 일 이후의 일수) 호스트를 변경하거나 오라클이 반환하는 것과 일치하는 변수 (문자열은 무엇입니까?).
+1 나는 당신의 고통을 느낍니다. –
마이 그 레이션을 고려해야 할 때 불운이 있습니다.Informix 코드에서 동적 SQL이 nulls 문제를 처리하지 못하거나 OCI (Pro * C)가 호스트 변수와 함께 표시기 변수를 처리하지 않는다는 것을 의미합니까? –
필자는 Pro * C 컴파일러가 nvl() 또는 표시기 변수를 사용하여 Null 값을 명시 적으로 처리하지 않을 때 테이블의 Null 값에 대해 불평한다는 것을 의미했습니다. Informix는 null 값을 선택하면 덜 신경 쓸 수 없습니다. (그리고 나는 그런 식으로 좋아합니다!) ... – KNewton