Добавить комментарий

Интеграция данных в MS SQL при переходе с 32 на 64 разряда

Чудны дела микрософта. Подгоняя всех к переходу на 64-разрядные системы, забывают про обратную совместимость. На сей раз речь идет о весьма важной составляющей - OLEDB и ODBC.

В отношении 64-разрядного MS SQL Server проблема проявится при использовании linked servers/openrowset/openquery. Несмотря на наличие 64-разрядного OLEDB в составе Vista SP1 и Windows Server 2008, а также недавно выпущенного обновления для Windows Server 2003, устанавливающего OLEDB64, сделана только половина дела.

Провайдер OLEDB для Jet равно как и 64-разрядные ODBC-драйверы для доступа к Excel, Access и текстовым файлам отсутствуют. Планов по переносу Jet на 64 разряда у Microsoft нет, так как он вытесняется версиями SQL Server Personal/Compact. Драйверы ODBC пока даже не аннонсированы.

В качестве "обхода" проблемы консультанты MS на форумах предлагают создать приложение под SSIS, но скомпилировать его в 32-разрядном (!) варианте. В ответ слышится прикрытый вежливыми оборотами мат. В самом деле, можно понять разработчиков, которым теперь потребуется переделывать подсистемы импорта/экспорта.

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