SQLXML с Windows 2008 и SQL Server 2008 - PullRequest
1 голос
/ 11 марта 2009

У меня есть приложение, которое использует SQLXML для доступа к данным в базе данных. Он работает на сервере Windows 2003 и SQL Server 2005. Теперь клиент хочет установить его на Windows 2008 и SQL Server 2008, и мы получаем ошибки, такие как:
Microsoft.Data.SqlXml.SqlXmlException: класс не зарегистрирован ---> System.Runtime.InteropServices.COMException (0x80040154): класс не зарегистрирован в Microsoft.Data.SqlXml.Common.UnsafeNativeMethods. ISQLXMLCommandManagedInterface.ExecuteToOutputStream () в Microsoft.Data.SqlXml.SqlXmlCommand.innerExecute (Stream strm) ... и т. д.

Это сводит меня с ума. SQLXML - довольно устаревшая технология, и мы пытаемся использовать ее с новейшей SO. Я не могу найти официальную информацию о SQLXML и Windows 2008, кажется, что она официально не поддерживается, но они также не говорят, что она не поддерживается.

Установка SQLXML4.0SP1, кажется, работает нормально, но кажется, что она не работает во время выполнения.

У вас есть идеи? Кто-нибудь пробовал что-то подобное?

Ответы [ 4 ]

2 голосов
/ 17 января 2012

Пакеты для SQLXML 4.0 с пакетом обновления 1 (SP1) были доступны для загрузки только в апреле 2009 года пакета дополнительных компонентов Microsoft SQL Server 2008 Не уверен, почему они не появляются в пакете возможностей 2008 R2, но они не появляются.

Вот ваша ссылка на Feature Pack
Прямые ссылки на соответствующие версии SQLXML 4.0 SP1 можно найти на этой странице

0 голосов
/ 04 июня 2009

SQLXML по умолчанию не устанавливается в SQLServer. Вы должны запустить установщик SQL Server и добавить функцию SQLXML. Я имею в виду SQL Server 2008.

0 голосов
/ 17 июня 2010

Возможно, вы используете функциональность ISAPI, которая не поддерживается в SQLXML 4.x

Установить SQLXML 3.0 на Win 2008 Server (Vista, 7) и изменить IIS 7.x Совместимость управления IIS 6 - разрешить совместимость с метабазой IIS 6 и консоль управления IIS 6 (в разделе Администрирование / Диспетчер сервера / "Роли - веб-сервер (IIS)" / "Ролевые службы").

В 64-битном Win Server 2008 «Включить 32-битные приложения» для IIS / пулов приложений.

0 голосов
/ 11 марта 2009

Я бы порекомендовал воспользоваться тем, что он работает на SQL 2005, чтобы преобразовать код, не использующий SQLXML. Вы можете использовать тот факт, что он работает, для создания тестов, которые доказывают, что он работает. Затем выполните преобразование и проверьте снова. Если тесты все еще показывают, что это работает, вы избавляетесь от устаревших технологий, в то время как есть еще кто-то, кто знает, что должна была делать устаревшая технология.

В противном случае, после того, как вы найдете исправление для этой немедленной проблемы (возможно, переустановите MSXML), вы будете обсуждать это через 20 лет, но с той разницей, что никто не знает, что такое SQLXML.

...