2013-08-19 4 views
0

Entity Framework 4.1을 사용하여 Windows 7 + VS 2012에서 전체 개발을했습니다.Oracle 콘솔 응용 프로그램과 함께 Entitity Framework를 실행하려면 배포 시스템에 설치하거나 구성해야하는 것은 무엇입니까?

내 응용 프로그램은 Entity Framework를 사용하여 원격 서버에서 실행되는 Oracle 데이터베이스에 액세스하는 Windows 콘솔 응용 프로그램입니다. 내 응용 프로그램에는 x64 대상 설정이 있고 Windows 7은 64 비트입니다.

프로덕션 호스트에 배포를 시작하기 전까지는 모두 개발 시스템에서 정상적으로 진행되었습니다.

제작 호스트 : 새로 설치된 Windows Server 2012. ODAC 64 비트를 설치하고 odp.net/managed/x64 폴더에서 configure.bat를 실행하십시오.

내 응용 프로그램의 모든 파일을/bin/Debug 폴더 양식 VS2012에서 생성하고 Oracle.DataAccess.dll과 함께 대상 시스템에 복사하고 있습니다.

내 연결 문자열은 providername = System.Data.EntityClient입니다. 이것은 EF Model-First Wizard에 의해 생성되었습니다. 실행할 때

, 미안은 다음과 같은 예외를 받고 :

Unable to find the requested .NET Framework Data Provider. It may not be installed. at System.Data.EntityClient.EntityConnection.GetFactory (String providerString). 

는 I've는 ODCA의 configure.bat을 확인하고는 OracleManageDataAccessDTC.DLL

에게 그래서

, 미안 매우 혼란를 설치합니다. Oracle.DataAcess.dll, OracleManageDataAccessDTC.dll이 있으며이 작업을 수행 할 수 없습니다. 이것이 EF 4.1을 사용한 첫 번째 오라클 배포입니다.

나는 많은 게시물을 한 번 보았고 전혀 결론을 내지 못했습니다.

누군가 나를 도울 수 있기를 바랍니다.

답변

1

ODAC는 서버에서 작동하기 쉽습니다. 사물의 무리는 고려가 필요 : 서버

  • 는 TNS 이름의 파일을 사용하는 경우에 오라클 클라이언트를 설치해야

    1. 를, 네트워크 폴더에 그이 필요
    2. 실제로 bin 폴더에있는 oracle dll을 사용하고 있지 않습니다. dll은 클라이언트와 ODAC를 설치할 때 서버에있는 다른 종속 dll을 필요로합니다.
  • +0

    @animuson - 내 대답을 편집 했으니 이유를 설명하십시오. 나는 그의 문제를 해결할 수있는 제 3 자 커넥터를 사용하고 그것을 제거 할 것을 제안했다. 타사 솔루션을 권장하는 데 제한이 없으며 훌륭한 플랫폼을 통해 ODAC 및 타사에 전체 플랫폼을 이전했습니다. –

    1
    이 도움이 될 것입니다 경우

    아니 생각하지만 ...

    I 앱 내 WebSecurity/WebMatrix.Data 모델이 연결 문자열, 하나를 필요로 건물 것을 실현하기 전에 귀하의 게시물을 발견 내 엔티티 프레임 워크 모델 & 하나 .

    프로젝트를 로컬로 구축 했으므로 & 모두 잘 작동합니다. 원격 서버에 대한 연결 문자열을 업데이트하고 나면 WebMatrix.Data 모델이 System.Data.SqlClient 공급자 &이 아닌 System.Data.EntityClient 공급자를 사용해야한다는 것을 알게 될 때까지 동일한 오류가 발생합니다.

    의 진정한 오라클 발행하는 경우,이 게시물에 당신을 도울 수 있습니다 ->Could not load file or assembly 'Oracle.DataAccess error

    서버에 32 비트 ODAC 드라이버를 설치뿐만 아니라 응용 프로그램의 x86 나를 위해 문제를 해결 건물입니다.