응용 프로그램 유형으로 인해 OCI.DLL에 액세스 할 수 없습니다
-
19-09-2019 - |
문제
Visual Studio 2008의 Entity Framework를 통해 Oracle 데이터베이스에 대한 연결을 작성하려는 시도를 사용하고 있습니다. 64 비트 Vista Ultimate를 실행하고 있습니다.
처음에는 Visual Studio를 통해 DB에 연결하는 데 어려움이 있었지만 결국 10204_VISTA_W2K8_X64_PRODUCTION_DB 및 ODTWITHODAC1110720을 설치하여 작업을 수행했습니다.
이 설정에 완전히 익숙하지 않으므로 이미 실수를했을 가능성이 있지만 두 패키지를 설치하는 것이 Visual Studio를 통해 연결을 만들 수있는 유일한 방법입니다.
나는 연결을했고 마법사를 사용하여 a를 만들었습니다. EDMX 파일. 모델과 협회는 완벽하게 만들어졌으며, 일이 잘 작동한다고 생각했습니다. 기본 이름 "엔티티"를 참조 이름으로 사용했습니다.
내가 다음을 시도 할 때
filingsContext = New Entities()
filingsContext.TABLE_NAME_HERE.First()
다음 오류가 발생합니다 ..
innerexception = { "C : app adexter orahome_1 oci.dll을로드 할 수 없습니다. 64x 응용 프로그램이있는 64x 버전의 Oracle 클라이언트를 사용하는지 확인하십시오."}.
응용 프로그램을 실행할 때를 제외하고 모든 시점에서 Oracle DB에 어떻게 연결할 수 있습니까?
해결책
당신이 실행중인 문제는 64 비트 응용 프로그램 내에 32 비트 버전의 DLL을로드하려고한다는 것입니다. 시각적 기본 애플리케이션을 대상으로 32 비트 / x86으로 전환 해보면 문제가 해결됩니다.
- Solution Explorer에서 프로젝트를 마우스 오른쪽 버튼으로 클릭하십시오
- 속성을 선택하십시오
- 컴파일 탭으로 이동하십시오
- 고급 컴파일 옵션을 클릭하십시오
- 대상 CPU 콤보를 x86으로 변경하십시오
- OK를 누르십시오
다른 팁
ODAC와 함께 64 비트 버전의 ODT를 설치했는지 확인하십시오.
보다 이 답변 응용 프로그램을 사용할 클라이언트 버전을 확인하는 방법에 대해 (최종의 일부 링크는 C# 언어를보다 구체적으로 대상이지만 VB .NET에 적응할 수 있음).