Oracle 10g (pro * c 및 libraries)를 사용하여 컴파일 된 멀티 스레드 C 응용 프로그램이 있습니다.이 프로그램은 스레드 당 하나의 데이터베이스 연결을 사용합니다. 11g으로 이동하고 11g를 테스트 할 때 전역 컨텍스트가 아닌 다른 컨텍스트를 사용하는 것은 데이터베이스에 연결할 때 SQL-02134: Invalid runtime context
을 생성합니다. 전역 컨텍스트를 사용하면 문제가 없습니다. 이것은 10g에서 11g으로의 전환에서 알려진 불일치입니까? 아니면 내가 잘못하고 있습니까? 11g에 대해 모든 것을 다시 컴파일 할 것이지만 구현 목적으로 모든 데이터베이스가 변환 될 때까지 10g 프로그램을 실행할 수 있다면 훨씬 쉽습니다. 그것은 가치가 무엇인지에 대한 10g 용으로 컴파일 된 프로그램에서 11g에서 런타임 컨텍스트가 작동하지 않는 이유는 무엇입니까?
EXEC SQL ENABLE THREADS;
EXEC SQL CONTEXT ALLOCATE :thread_ctx
EXEC SQL CONTEXT USE :thread_ctx
그래서