Асинхронные операции над базой данных с базой данных Oracle с использованием C #, .NET? - PullRequest
1 голос
/ 14 января 2010

Мне нужно подключиться и выполнить некоторую операцию над базой данных oracle из моего приложения на C # / .NET. Поскольку это серверное приложение с высокой нагрузкой, я бы хотел использовать только async для выполнения операций с базой данных.

Я понимаю, что System.Data.OracleClient устарел сейчас , каковы мои варианты достижения выше?

Ответы [ 4 ]

1 голос
/ 28 января 2010

Вам не нужно менять какой-либо подход к программированию, вам просто нужно получить вашу DLL из другого источника. По сути, Microsoft говорит (если я понимаю статью), что их версия System.Data.OracleClient устарела, но версия, которую предоставляет Oracle, - это та, которую нужно использовать.

Это немного сбивает с толку, у меня была эта проблема, когда я впервые работал над БД Oracle из кода .NET, но и у Oracle, и у Microsoft есть библиотеки, которые называются "System.Data.OracleClient".

Так что получите Oracle и используйте тот же код для ваших асинхронных вызовов, который вы использовали бы с Microsoft.

1 голос
/ 14 января 2010

Вы можете создать задание в sqlserver, а затем запланировать его немедленное выполнение. Это все можно сделать одним запросом. Oracle также имеет аналогичную концепцию.

1 голос
/ 14 января 2010

Вы можете использовать DBMS_JOB или более современный DBMS_SCHEDULER, чтобы Oracle что-то запускал, а затем возвращал. Настраиваемое ограничение на количество одновременно выполняемых заданий Oracle, убедитесь, что оно достаточно для вашего приложения.

Вы также можете использовать Oracle AQ. Настройте очередь, имейте 1..n заданий, которые следят за очередью, чтобы что-то сделать.

1 голос
/ 14 января 2010

Я не изучал это уже пару лет, но это было невозможно, когда я смотрел Асинхронный. операции поддерживаются только клиентом SQL Server.

Ваша единственная возможность - создавать свои собственные асинхронные методы. Это хорошо задокументировано, поэтому я не буду здесь это повторять.

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