2010-01-18 21 views
5

Preparado una C# DLL manged utilizando ensamblados de SMO de versión: 10.0.0.0 de SQL 2008 y llamé a las funciones en esta DLL desde un código de C++ no administrado. Esta aplicación se está ejecutando con éxito para SQL Server 2008 pero esta aplicación está arrojando excepciones cuando ejecuto SQL Server 2005 de la siguiente manera:Soporte de código SMO para sql 2005 y sql 2008

Descripción: No se pudo cargar el archivo o ensamblado 'Microsoft.SqlServer.Smo, Version = 10.0.0.0, Culture = neutral, PublicKeyToken = 89845dcd8080cc91 'o una de sus dependencias. El sistema no puede encontrar el archivo especificado.

¿Cuál sería el motivo?
¿Está fallando en sql 2005 debido a la versión mismacth de SMO?
¿Cómo puedo dar soporte a sql 2005 y sql2008 en mi aplicación usando un solo dll de C#?

+0

Parece que está fallando debido a conflictos de versiones - que he tenido este problema también y me gustaría saber la respuesta! – justinlatimer

Respuesta

3

Me enfrenté al mismo problema antes, ¿está ejecutando esta aplicación desde la misma máquina donde tiene instalados 2008 y 2005?

Si no, le sugiero que instale las bibliotecas SMO para Sql 2008 en la máquina/cliente en el que está ejecutando el ensamblado.

This download will give you the libraries

+0

La aplicación está integrada en la máquina que tiene sql 2008 e iam ejecutando esta aplicación en otra máquina que tenga sql2005. Instalaré esta descarga y actualizaré el resultado. Gracias – user186246

+0

Después de instalar SMO 2008, la aplicación se ejecutó correctamente en la máquina con sql 2005. Pero no podemos preparar una aplicación que use SMO, ¿es compatible tanto con sql2005 como con sql2008? – user186246

+0

Su aplicación 'does' es compatible tanto con 2005 como con 2008, pero dado que la aplicación que ha creado tiene una referencia al ensamblado de Sql 2008, solo necesita tener la biblioteca 2008 instalada solo en la máquina' cliente'. –

Cuestiones relacionadas