문제

프로덕션에 배포 한 웹 응용 프로그램이 있습니다. 웹 및 데이터베이스에 대한 별도의 서버가 있습니다. DB는 SQL Server 2008이며 완전히 다른 서버에서 호스팅되며 IIS가 다른 서버에 설치되어 있습니다.

내 웹 서버에서는 다음 오류가 발생합니다. 파일 또는 어셈블리 'Microsoft.sqlserver.types, 버전 = 10.0.0.0, Culture = Neutral, Public Keytoken = 89845DCD8080CC91'또는 그 종속성 중 하나를로드 할 수 없습니다.

웹 서버에서 GAC를 확인 했는데이 특정 DLL이 누락되었습니다. 웹 서버이기 때문에 이것은 나에게 의미가 있으며 SQLServer와 관련된 어셈블리가 없어야합니다.

우리의 응용 프로그램은 IIS와 DB가 동일한 서버에 설치되면서 DEV, 테스트 및 스테이징 환경에서 훌륭하게 작동했습니다.

제작 에서이 문제를 어떻게 지나칠 수 있습니까? 웹 서버에 SQL Server 2008을 설치하여 할 수 있습니다. 그러나 이것은 나에게 의미가 없습니다. 웹 서버입니다. 해당 컴퓨터에 SQL Server 2008을 설치 해야하는 이유는 무엇입니까?

도움이 되었습니까?

해결책

Microsoft SQL Server 2008 기능 팩

간단한 설명:

SQL Server 2008의 추가 가치를 제공하는 독립형 설치 패키지 모음 인 Microsoft SQL Server 2008 기능 팩을 다운로드하십시오. 특히 CLR 데이터 유형.

참고 : 업데이트 된 기능 팩 링크 2013 년 1 월

다른 팁

보고서 뷰어는이 클래스가 필요합니다

Microsoft.ReportViewer.Common.dll
Microsoft.ReportViewer.ProcessingObjectModel.dll
Microsoft.ReportViewer.WebForms.dll
Microsoft.ReportViewer.WinForms.dll
Microsoft.ReportViewer.DataVisualization.dll
Microsoft.SqlServer.Types.dll

최상의 솔루션은 Microsoft.sqlserver.types Nuget 패키지를 설치하는 것입니다.

PM> Install-Package Microsoft.SqlServer.Types

readme.htm의 지침을 따르십시오

@Dave Swersky가 말했듯이 Microsoft SQL Server 2008 기능 팩이 필요합니다.

그러나 링크가 변경되었습니다.

SQL Server® 2008 R2 용 Microsoft® 시스템 CLR 유형 :

x86 패키지 (sqlsysclrtypes.msi) : http://go.microsoft.com/fwlink/?linkid=188391&clcid=0x409x64 패키지 (sqlsysclrtypes.msi) : http://go.microsoft.com/fwlink/?linkid=188392&clcid=0x409

원본 링크 사용은 패키지가 별도로되었다고한다는 텍스트 파일이 나타납니다.

오류가 나타날 때 "계속"버튼을 누르면이 오류를 무시할 수있었습니다. 설치가 완료되면 2008 R2 서버의 작동에 영향을 미치지 않은 것으로 보입니다. Windows 7 64 비트를 실행하고 있습니다.

이 포럼 게시물을 참조하십시오 : https://social.technet.microsoft.com/forums/sharepoint/en-us/7e673dde-dfca-4b1a-a840-025a2ae9ee58/reportviewer-msi-missing-microsoftsqlservertypesdll?,

첫 번째 응답. 실제로 재배포 가능한 보고서 뷰어 런타임 .dlls를 다운로드하고 프로젝트에 추가하여 파일이없는 기계에 배포되도록 할 수 있습니다.

그리고 VS 2012의 런타임을 실제로 다운로드하는 링크 : http://www.microsoft.com/en-us/download/confirmation.aspx?id=35747

추신 : Nuget (내가 한 일)을 통해 다운로드 할 수도 있습니다. "Microsoft® Report Viewer 2012 런타임"을 검색하면 지금까지 가장 쉬운 방법입니다.

응용 프로그램을 닫고 다시 열어 문제를 해결합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top