COBOL에서 ODBC를 통해 데이터베이스에 연결

COBOL에서 ODBC를 통해 데이터베이스에 연결



레거시 COBOL 애플리케이션은 데이터베이스 연결을 언어 레벨에서 지원하지 않습니다. 따라서 데이터베이스 연결에는 일반적으로 Oracle Pro * COBOL과 같은 전처리 기로 COBOL 소스에 SQL을 통합하여 미리 COBOL 코드로 변환 한 후 COBOL 컴파일을 수행했습니다.



전처리 기는 데이터베이스 공급 업체에서 제공하므로 COBOL 처리 시스템뿐만 아니라 데이터베이스도 공급 업체가 잠글 수 있습니다.

COBOL 애플리케이션의 ODBC 지원



개방형 COBOL 컴파일러에는 ODBC 인터페이스를 지원하는 제품이 대부분입니다.

「ODBC 인터페이스를 지원」=「처음의 임베디드 SQL에 관한 기능을 가진다」

라고 말할 수 있습니다.

MicorFocus COBOL은 OpenESQL 전처리기를 갖춘 통합 컴파일러이며 정적 SQL을 지원하는 COBOL 처리 시스템도 있습니다. 이것들은 Pro * COBOL과 완벽하게 호환되지는 않지만 Oracle 버전 호환성 제한이나 데이터베이스를 잠그지 않는다는 이점이 있습니다.

각 COBOL 컴파일러의 전처리기 기능에 대해서는 COBOL 컴파일러 제조업체에 문의하십시오.

DataDirect Connect를 이용해보기



ODBC 인터페이스를 사용할 때 DataDirect를 사용하면 앞에서 설명한 ODBC 드라이버 관리자와 ODBC 드라이버를 동일한 드라이버로 통합 할 수 있습니다.
Windows 플랫폼의 경우, ODBC 드라이버 매니저는 Windows에 부속된 것을 ODBC 드라이버는 데이터베이스 벤더의 정품 드라이버를 사용하는 것으로 그다지 위화감이 없습니다만, Linux를 비롯한 unix 환경에서는 unixODBC를 ODBC 드라이버 · 매니저에 이용해야 합니다.
DataDirect는 HP-UX, Solaris, Linux, AIX 등 각종 UNIX 플랫폼을 폭넓게 지원하므로 위와 같이 unixODBC를 이용하지 않고 모두 지원이 있는 구성을 취할 수 있습니다.

Pro*COBOL 자산을 ODBC 사양으로 다시 작성



여기가 제일의 난관입니다만. . .

갑자기 Java로 다시 작성합시다! 보다는 다소 장애물이 떨어질 것이라고 생각합니다. 또, 데이터베이스를 다른 벤더의 것, 예를 들면 PostgreSQL로 옮겨놓는다고 하는 경우, 보수 비용이 대폭으로 저하할 가능성이 있습니다.

그렇게 큰 수술이 아닙니다 (라고 말하면서, 보증은 할 수 없기 때문에, COBOL 벤더의 매뉴얼을 확인할 필요가 있습니다) 때문에, 한 번 검토되어 어떻습니까.

OpenESQL의 SQL 포함 예제
      *    Connect to the specified database
       EXEC SQL
               CONNECT TO :svr USER :usr WITH NO PROMPT
       END-EXEC
       if sqlcode not = 0
        display "Error: cannot connect "
        display sqlcode
        display sqlerrmc
        stop run
       end-if

요약



COBOL 자산은 어떠한 타이밍에 오픈계 언어로 대체해야 할까 생각합니다만, 현실적으로 한번에 할 수 있는 것도 아니기 때문에, 이러한 기술을 이용하면서 와야 할 디지털 트랜스포메이션에 대비하는 것도 좋다 수 있습니다.

좋은 웹페이지 즐겨찾기