2010-01-18 3 views
5

SQL 2008의 버전 10.0.0.0의 SMO 어셈블리를 사용하여 Managed C# DLL을 준비했으며이 DLL의 함수를 unmanged C++ 코드에서 호출했습니다. 이 응용 프로그램은 SQL Server 2008에서 성공적으로 실행되고 있지만이 응용 프로그램은 SQL Server 2005에서 다음과 같이 실행할 때 예외가 발생합니다.SQL 2005 및 SQL 2008 모두에 대한 SMO 코드

설명 : 파일 또는 어셈블리를로드 할 수 없습니다 'Microsoft.SqlServer.Smo, Version = 10.0.0.0, 문화 = 중립, PublicKeyToken = 89845dcd8080cc91 '또는 그 종속성 중 하나. 시스템이 지정된 파일을 찾을 수 없습니다.

이유는 무엇입니까?
SMO의 버전 불일치로 인해 SQL 2005에서 실패 했습니까?
단일 C# dll을 사용하여 응용 프로그램에서 SQL 2005 및 sql2008에 대한 지원을 제공하려면 어떻게합니까?

+0

이 때문에 버전 불일치의 실패처럼 보이는 - 나도이 문제를 했어 답을 알고 싶어요! – justinlatimer

답변

3

이전에 같은 문제가 발생했는데 2008 년과 2005 년이 설치된 컴퓨터에서이 응용 프로그램을 실행하고 있습니까?

그렇지 않은 경우 어셈블리를 실행중인 컴퓨터/클라이언트에 Sql 2008 용 SMO 라이브러리를 설치하는 것이 좋습니다.

This download will give you the libraries

+0

응용 프로그램은 sql2005 및 sam2005를 가진 다른 컴퓨터에서이 응용 프로그램을 실행하는 iam이있는 컴퓨터에 구축됩니다. 이 다운로드를 설치하고 결과를 업데이트합니다. 감사합니다 – user186246

+0

SMO 2008을 설치 한 후에 SQL 2005를 사용하는 시스템에서 응용 프로그램이 성공적으로 실행되었습니다. 그러나 SMO를 사용하는 응용 프로그램을 준비하지 않습니다 - sql2005와 sql2008을 모두 지원합니까 ?? – user186246

+0

귀하의 응용 프로그램은 2005 년과 2008 년을 모두 지원합니다. 그러나 작성한 응용 프로그램은 Sql 2008의 어셈블리에 대한 참조를 가지고 있으므로 클라이언트 라이브러리에 2008 년 라이브러리 만 설치하면됩니다. –

관련 문제