Пытаясь быстро выполнить массовую вставку Oracle, в настоящее время я делаю 4000 строк примерно за 110 секунд ... ужасно! У меня есть свои вставки, привязанные к транзакции, и они фиксируются только после завершения транзакции. Я привязываю параметры к OracleCommand для ввода.

Я использую ADO.NET с анализом C # через OCI. ODP.NET действительно не вариант, потому что я не могу жертвовать переносимостью. Я хочу распространить приложение и несколько библиотек DLL ... не устанавливать клиента oracle!

Любые идеи о том, как я могу ускорить это?

3
coergo 26 Авг 2011 в 18:10

2 ответа

Лучший ответ

Мой совет - использовать ODP.net. Это будет лучший способ добиться более плавной работы.

Чтобы обойти проблему с установкой клиента, просмотрите эту ветку форумов Oracle на Развертывание только DLL, которое можно связать со своим приложением. Это НАМНОГО компактнее, чем полная установка клиента Oracle, и не требует какой-либо установки.

2
Tridus 26 Авг 2011 в 14:16

Обратите внимание, что System.Data.OracleClient устарел согласно http://msdn.microsoft.com/en-us/library/system.data.oracleclient.aspx

ЕСЛИ коммерческая библиотека является вариантом (минимум 2 библиотеки DLL), обратите внимание на http: //www.devart .com / dotconnect / oracle / - у него есть "прямой режим", который работает без установки клиента и может использовать OCI, если присутствует ...

0
Yahia 26 Авг 2011 в 14:25