Oracle Pro * C доступ из нескольких потоков - PullRequest
4 голосов
/ 08 марта 2012

Я работаю на сервере C ++, который использует Oracle в качестве бэкэнда через Pro * C.

Сейчас у нас серьезная проблема при выполнении запросов к несвязанным таблицам из нескольких потоков. В документации, которую я мог найти, говорится об использовании мьютексов и тому подобного для синхронизации.

Мой опыт работы с другими базами данных, такими как MySQL в Linux, возник, если вы используете одно соединение через несколько потоков. Проблема была решена путем создания дескриптора соединения для каждого потока.

Есть ли такой прием, который позволит нам использовать Oracle Pro * C аналогичным образом? Похоже, что БД корпоративного класса, которая не поддерживает такую ​​функциональность в версии 10+, несколько маловероятна.

1 Ответ

4 голосов
/ 08 марта 2012

Знаете ли вы о параметре прекомпилятора pro * c Threads и соображениях многопоточного программирования ?

Если в командной строке указано THREADS = YES , прекомпилятор Pro * C / C ++ гарантирует, что сгенерированный код является поточно-ориентированным, если вы следуете рекомендациям.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...