2009-03-11 10 views
1

У меня есть приложение, которое использует 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 (поток STRM) ... и т.д. и т.п.SQLXML с Windows 2008 и SQL Server 2008

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

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

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

+1

Привет Михая ... Вы когда-нибудь SQLXML работать? –

ответ

0

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

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

+1

Действительно философский ответ :) Я согласен, однако дальнейшее развитие сейчас не вариант. – rgargente

0

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

0

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

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

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

2

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

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