Как было отмечено по-разному в этом вопросе, VS IDE (и его типичная среда тестирования) является 32-битной, даже если она установлена / работает в 64-битной Windows или при сборке для использования / развертывания в 64-битной Windows,У моего работодателя есть статья базы знаний, в которой обсуждается это .
Кроме того, SQL Server, SSIS и VS всегда являются клиентами OLE DB или ADO.NET;они на самом деле не говорят на ODBC напрямую.Когда вы указываете SQL Server, SSIS или VS подключиться к драйверу ODBC или ODBC DSN, они незаметно используют для этого соединения Microsoft OLE DB [Bridge] Поставщик для драйверов ODBC .
Самый простой способ обойти все это, учитывая, что вы явно хотите использовать ODBC, - это установить как 32-битные, так и 64-битные варианты всех компонентов OLE DB (включая провайдера моста) и компонентов ODBC (и любых библиотек, на которыхони зависят, например, OCI или Oracle Instant Client), и для настройки пары ODBC System DSN (а не User DSN по нескольким причинам), по одному для каждого 32-разрядного и 64-разрядного-bit, которые названы и настроены одинаково, за исключением только библиотеки драйверов.
Эта стратегия работает независимо от того, используете ли вы драйверы ODBC от моего работодателя (что может быть в 12-15 раз быстрее«те, на которые ссылались ранее? если это так, важно отметить, что« одновременные пользователи »Enterprise Edition - это активно подключенные клиенты, а не установленные места), из другогосторонние или от самих Oracle.