2012-09-24 4 views
7

이 질문은 여러 번 요청되었으며 Google에서이 문제와 관련된 많은 정보를 찾았지만 내 DEV에있는 문제를 해결할 수 없습니다. PC :(
I have that ugly error message on every page (파일 또는 어셈블리 Microsoft.SqlServer.BatchParser를로드 할 수 없음) Microsoft SQL Server 2005 Management Objects Collection을 많은 인터넷 리소스에 권고 된대로 설치했으나 도움이되지 않았습니다. 그런 다음 Microsoft SQL Server 2008 Management Objects을 설치하려고했지만 설치가되지 않는다고 말합니다. (SQL Server 2008이 설치되어 있습니다.)
그런 다음 GAC에 가서 다음 줄을 찾았습니다.
Microsoft.SqlServer.BatchParser, Version = 10.0.0.0, Culture = neutral, PublicKeyTok EN = 89845dcd8080cc91, processorArchitecture = AMD64Microsoft.SqlServer.BatchParser를로드 할 수 없거나 종속성 중 하나를로드 할 수 없습니다.

Microsoft.SqlServer.BatchParser, 버전 = 9.0.242.0, PublicKeyToken = 89845dcd8080cc91, processorArchitecture = AMD64

Microsoft.SqlServer.BatchParser, 버전 = 10.0.0.0 문화 = 중립, 문화 = 중립, PublicKeyToken = 89845dcd8080cc91, processorArchitecture = 86

Microsoft.SqlServer.BatchParser, 버전 = 9.0.242.0, 문화 = 중립, PublicKeyToken = 89845dcd8080cc91, processorArchitecture = 86

Microsoft.SqlServer.BatchParserClient, 버전? n = 10.0.0.0, Culture = 중립, PublicKeyToken = 89845dcd8080cc91, processorArchitecture = MSIL < - 9.0.242.0 버전이 있습니까?

나는 이미 성공하지 못한 해결책을 찾기 위해 약 반나절을 보냈습니다. 그리고 그 오류로 인해 intellisense가 작동하지 않을 때 VS와 함께 작업하는 것은 매우 진절머리가납니다.

I 2005 VS 2010 SQL Express를 가지고 SQL 서버 2008 enter image description here

는이 문제를 해결하기 위해 도와주세요 (구성 스크린 샷 참조) 설치! 감사.

답변

2

Visual Studio를 통해 응용 프로그램을 실행하는 동안이 오류가 발생해야합니다. 나는 과거에이 오류가 발생했지만 다음과 같은 해결 방법을 통해 해결했습니다.

1) 원하지 않는 BatchParser 참조를 제거합니다 (web.config에있는 경우).
2)이 오류를 통해 응용 프로그램을 일으킬 수있는 일부 타사 DLL이 사용되었습니다.
3) 다른 페이지에서 aspx 페이지를 복사했을 수 있으며 "상속"섹션을 변경하는 것을 잊었을 수 있습니다.

+0

1) 솔루션에서 BatchParser에 대한 참조를 찾지 못했습니다. 2) 아니오라고 생각하지만 확실하게 확인할 수 있습니까? 3) DB Projects를 포함하고있는 오래된 솔루션이고, 어느 시점에서 오류가 나타나기 시작합니다. –

+0

디버거를 넣고 오류가 발생한 행을 표시 할 수 있습니까? –

+0

처리 할 때 사이트에 오류가 발생하지 않습니다. ASPX 마크 업을 편집 할 때 디자인 타임에만 @Page 지시문에 밑줄이 그어져 있습니다 (예 : 오류). 마우스를 올려 놓으면 BatchParser 오류가 표시됩니다. 컴파일 오류 또는 런타임 오류가 없습니다. –

3

Management Studio 또는 Visual Studio에서이 오류가 표시됩니까? 이 오류 메시지는 언제 받습니까? 당신의 Windows Itanium 기반 버전의 SQL Server 2008의 32 비트 버전을 실행할 때

956178 오류 메시지에 doc'ed 같은 문제로 인해 32 비트 64 대 비트의 상호 작용으로 인해 발생할 수 있습니다 : "이 시스템은 할 수 없습니다 지정한 파일 찾기 " http://support.microsoft.com/kb/956178/EN-US

64 비트 시스템을 사용하는 경우 업데이트 된 관리 개체가 64 비트 버전인지 확인하십시오.

+0

편집을 위해 ASPX 페이지를 열 때 Visual Studio에 오류가 나타납니다. 파일의 맨 위에는 오류 메시지가 표시되고 그 다음에 인텔리전스가 작동하지 않습니다. 나는 윈도우 7 64 비트, SQL2008 32 비트, VS2010 32 비트, 쿼드 코어 Q8400 CPU를 사용하고 있습니다. sql2008에 대한 관리 개체를 설치하려고했지만 최신 버전이 이미 설치되어 있다고 알려줍니다. –

+0

https://social.technet.microsoft.com/wiki/contents/articles/35832.sql-server-troubleshooting-could-not-load-file-or-assembly-microsoft-sqlserver-batchparser.aspx 다운로드 그들이 권장하는 x64 패키지의 두 패키지는 먼저 clr 유형을 설치 한 다음 SharedManagementObjects를 설치합니다. – Savage

0

내 응용 프로그램 풀의 고급 설정으로 가서 "32 비트 응용 프로그램 사용"을 TRUE로 설정해야했습니다 (64 비트 SQL Server를 실행하고있었습니다).

+0

나는 반대의 문제가있었습니다. 나는 "32 비트 선호"를 응용 프로그램의 빌드 속성에서 확인했지만 64 비트 SMO를 설치했습니다. – mhenry1384

3

* 참고 :이 대답은 C# 프로그램에서 MS SQL SMO (관리 개체)를 사용하는 사람들을위한 것입니다. 질문에서 언급 한 오류로 어려움을 겪고있었습니다.

파일 또는 어셈블리를로드 할 수 없습니다 'Microsoft.SqlServer.BatchParser.dll' 또는 해당 종속성 중 하나를 내가 가진 정확한 오류가이 있었다. 동적 연결 라이브러리 (DLL) 초기화 루틴이 실패했습니다. (HRESULT 예외 : 0x8007045A)

.NET 4.0 (이상) CLR 내에서 .NET 2.0 어셈블리를 실행하는 데 문제가 발생했습니다. 는 SQL 서버 SMO 어셈블리는 런타임 V2.0.50727 따라서 다음 섹션은의 app.config (Web.config 또는) 필요하다 대해

<startup useLegacyV2RuntimeActivationPolicy="true"> 
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/> 
    </startup> 

PS 내장되어 힌트는 MSDN 게시판 this discussion thread이었다.

관련 문제