Использование DSN + 32-битных драйверов

1

Мне нужен совет, так как я сталкиваюсь с проблемой, и до сих пор не смог найти решение.

У нас есть набор отчетов, разработанных в MS Excel, которые используют файл DSN для подключения к источникам данных для извлечения данных. Они отлично работают на 32-битных и 64-битных системах.

Тем не менее, мы переходим к среде терминального сервера с использованием Windows 2008 R2 64Bit

Отчеты не запускаются с использованием DSN в этой среде, если у нас только 32-битные драйверы установлены и настроены в настройках ODBC. Как только мы установим 64-битные драйверы, программное обеспечение будет работать.

Есть ли способ или способ заставить Excel или файл DSN НЕ использовать 64-битный драйвер, но заставить его использовать 32-битный драйвер?

Kristiaan
источник

Ответы:

2

мы переходим к терминальной серверной среде с использованием Windows 2008 R2 64Bit.

Это само по себе не вызовет проблем, вам нужно установить 64-разрядную версию Microsoft Office 2010. У вас должна быть веская причина для установки 64-разрядной версии, Microsoft устанавливает 32-разрядную версию по умолчанию в 64-битные машины по причине - вещи перестают работать.

Есть ли способ / метод получения Excel или DSN-файла, чтобы НЕ использовать 64-битный драйвер, но заставить его использовать 32-битный драйвер.

Нет, но для подключения в приложениях Office просто установите 64-разрядную версию ACE и убедитесь, что ссылки на строки подключения указаны Microsoft Access Driver (*.mdb, *.accdb).

SQL Server, Oracle и целый ряд других распространенных СУБД имеют 64-разрядные драйверы ODBC, поэтому я не вижу, как между 64-разрядным ACE и собственным клиентом / ODAC SQL вы не можете подключиться к чему-либо.

Если это все еще не работает, в этом сообщении на форуме есть механизм общего назначения для «проксирования» x64 -> x86 через связанные серверы SQL Server . При необходимости замените Microsoft.Jet.OLEDB.4.0и другие параметры (чтобы сделать его связанным сервером через ODBC, а не ODBC) с вашим поставщиком ODBC.

ta.speot.is
источник
Привет, Тодда, спасибо за ответ, касающийся моей проблемы, я знал, что могу установить 64-битные драйверы и получить доступ к ним таким образом, но в настоящее время мы тестируем наши системы в рамках TS в качестве доказательства концепции перед их развертыванием вживую. Идея установки 64-битных драйверов вместе с необходимыми 32-битными драйверами привела бы к повторному тестированию приложений, чтобы убедиться в отсутствии проблем совместимости между двумя наборами драйверов. К сожалению, не желая «возиться» с настройками реестра, кажется, что это единственный реальный маршрут, поэтому мы в настоящее время проводим повторное тестирование.
Kristiaan
1

ОП ответил на свой вопрос

К сожалению, нет никакого способа сделать то, что я хочу, без множества очень неприятных и не на 100% совершенных хаков.

Если вам нужен доступ к 32-битным источникам данных ODBC, рассматриваемое приложение должно быть 32-битным.

Вот ссылка на только одно сообщение на форуме, которое я нашел относительно этого типа проблемы. Похоже, что единственный способ, которым я смог бы это сделать, - это удалить 64-битную версию офиса и установить вместо нее 32-битную версию.

http://social.msdn.microsoft.com/Forums/en-US/accessdev/thread/5108f337-f06a-4518-afe3-d3c1abd040ef/

nixda
источник