DTS.dll не регистрируется должным образом в проекте С# ASP.Net Visual Studio 2008

Я унаследовал приложение от бывшего коллеги. Это веб-приложение C# ASP.Net. Когда я пытаюсь скомпилировать его в Visual Studio 2008, он жалуется, что не может найти пространство имен DTS. Поэтому я добавил файл DTS.dll в справочники из C:\Program Files\Microsoft SQL Server\100\DTS\Binn. Когда я это делаю, все ошибки компиляции исчезают, но я получаю два предупреждения, которые кажутся мне довольно неприятными:

«Не удается найти сборку оболочки для библиотеки типов DTSlib. Убедитесь, что (1) компонент COM зарегистрирован правильно и (2) ваша целевая платформа совпадает с разрядностью компонента COM. Например, если компонент COM — 32- бит, ваша целевая платформа не может быть 64-битной».

и

"Упомянутый компонент DTSlib не найден"

Кроме того, рядом с DTSLib в разделе «Ссылки» обозревателя решений стоит желтый восклицательный знак.

Во-первых, правильно ли я беспокоюсь об этом? Во-вторых, если да, то как мне это решить? Дело не в разрядности, так как я работаю на 64-битной машине и брал dll из Program Files, а не Program Files (x86).


person Melanie    schedule 19.03.2015    source источник
comment
Какая версия SQL Server?   -  person Gregory A Beamer    schedule 19.03.2015


Ответы (1)


@Melanie: у DTS были некоторые проблемы с поддержкой в ​​2008 году из-за создания служб интеграции SQL Server. https://msdn.microsoft.com/en-us/library/bb500440%28v=sql.105%29.aspx?f=255&MSPPError=-2147217396

Я надеюсь, что проблемы с поддержкой были решены, если клиент также работает на SQL Server 2008 R2.

Наиболее вероятная проблема заключается в том, что у вас не установлены полностью пакеты. Это довольно легко сделать, следуя инструкциям на странице https://msdn.microsoft.com/en-us/library/ms143755(v=sql.105).aspx - по сути, «хак» обратной совместимости.

Проблема может заключаться в невозможности зарегистрировать некоторые COM-компоненты, которые могут существовать или отсутствовать на диске. Скорее всего да, так как вы можете следовать инструкциям выше, но они также могут быть скопированы и зарегистрированы на время.

Причина, по которой я спросил, какую версию, вам пришлось бы исправлять, если бы они все еще были на версии, такой как SQL Server 2000.

Я бы порекомендовал компании потратить некоторое время на обновление до SSIS, поскольку они не смогут перейти на SQL Server 2012 или 2014, если они все еще хотят использовать DTS. Он был признан устаревшим в SQL Server 2005, его поддержка еще больше сократилась в 2008 году (с некоторыми ограничениями) и исчезла с SQL Server 2012. На самом деле, есть хак, который они могли бы сделать, но я не проверял его (и не рекомендую это, если да).

person Gregory A Beamer    schedule 19.03.2015