SQL Server 2008 R2 x64에서 사용하기 위해 Oracle OLE 드라이버를 설치하는 방법


10

이전 버전의 Oracle 및 SQL Server 모두에 대해 수년간 사용했던 표준 절차에 따라 Oracle OLE 드라이버가 포함 된 Oracle의 최신 ODAC 패키지를 새로운 SQL Server 2008 R2 x64 노드에 설치했습니다. 권장 시스템 재부팅을 수행했지만 OraOLEDB.Oracle이 SSMS의 연결된 서버 \ 공급자 노드에 표시되지 않습니다. 이 설치와 이전 SQL Server 설치의 유일한 차이점은 이제 Windows 2008 R2에서 SQL Server x64를 사용하고 있다는 것입니다. 이것이 차이를 만들어야합니까?

SQL Server 노드에서 SQL * Plus를 사용하여 Oracle 서버에 직접 연결할 수 있습니다. 내가 놓친 유일한 것은 제공자입니다. 내가 잃어버린 것을 아는 사람이 있습니까? 웹에는 많은 게시물이 있지만 Oracle 다운로드 페이지에 대한 많은 혼란과 오래된 링크가있는 것 같습니다.

내가 할 수있는 유일한 일은 Oracle에 연결된 서버를 만들고 그것에 대한 선택 쿼리를 실행하는 것입니다. Visual Studio를 통해 아무것도 할 필요가 없습니다.


이 작업을 수행하는 방법에 대한 간단한 답변이 있지만 Oracle 12 드라이버 및 SQL Server 2012와 관련이 있습니다.이 질문에 대한 답변을 추가하거나 새로운 질문을해야합니까?
Baodad

답변:


15

몇 시간의 연구 끝에 Oracle 11g R2에 대한 몇 가지 작업 지침을 함께 모았습니다. 결과적으로 BIDS / Visual Studio / SSMS에서 작동하는 32 비트 및 64 비트 클라이언트가 모두 설치되어 있어야합니다. 필요한 것보다 더 많은 Oracle 구성 요소를 설치했을 수도 있지만 다음과 같은 이점이 있습니다.

  1. http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html 에서 32 비트 및 64 비트 클라이언트를 다운로드하십시오 (다른 버전을 보려면 "모두보기"를 클릭하십시오). 완전한 Oracle 프로그램입니다. 다운로드는 각각 약 600 메가 여야합니다.)
  2. SQL Server에서 32 비트 설치를 실행하십시오. "사용자 정의"를 선택하십시오
  3. Oracle Base의 경우 "C : \ Oracle"을 입력하십시오.
  4. "소프트웨어 위치"의 경우 C : \ Oracle \ product \ 11.2.0 \ client_ 32로 변경하십시오.
  5. 다음 구성 요소를 선택하십시오.
  6. SQL * Plus
  7. Oracle Call Interface (OCI)
  8. 오라클 넷
  9. Microsoft Transaction Server 용 Oracle 서비스
  10. Windows 용 Oracle Administration Assistant
  11. OLE DB 용 Oracle 공급자
  12. Oracle Data Provider for .NET
  13. ASP.NET 용 Oracle 공급자
  14. 64 비트 설치 프로그램으로 위 단계를 반복하십시오. 그러나 "소프트웨어 위치"를 C : \ Oracle \ product \ 11.2.0 \ client_ 64로 변경하십시오.
  15. 이 시점에서 메모리 오류가 발생했지만 충분하다는 것을 알고 무시합니다.
  16. "OracleMTSRecoveryService가 이미 존재합니다"오류를 무시하십시오.

설치가 완료되었으므로 몇 가지 사항 만 조정하면됩니다.

  1. HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ MSDTC \ MTxOCI로 레지스트리를 변경하십시오.
  2. OracleOciLib는 oci.dll이어야합니다
  3. OracleSqlLib는 orasql11.dll이어야합니다
  4. OracleXaLib는 oraclient11.dll이어야합니다
  5. 확인 같은 HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ 마이크로 소프트 \ MSDTC \ MTXOCI에 레지스트리 변경
  6. C : \ Oracle \ product \ 11.2.0 \ client_ 32 \ network \ admin 에서 새 tnsnames.ora를 작성하거나 복사하십시오.
  7. C : \ Oracle \ product \ 11.2.0 \ client_ 64 \ network \ admin 에서 새 tnsnames.ora를 작성하거나 복사하십시오.
  8. 재부팅하십시오!
  9. SSMS의 Linked Servers \ Providers 아래에 공급자로 OraOLEDB.Oracle이 표시됩니다.
  10. 이 제공자를 마우스 오른쪽 단추로 클릭 한 후 특성을 클릭 한 후 "프로세스 허용"상자를 선택하십시오.
  11. 이제 GUI 또는 T-SQL을 통해 연결된 서버를 만들 수 있습니다

행운을 빕니다!


1
동일한 문제 (Sql Server 2008 R2 64x가 Oracle 8에 연결됨)가 있었고 지침에 따라 해결했습니다. 다행히도 64 비트 클라이언트를 설치해야했습니다. 감사!
santiiiii

SQL * Plus 및 Administration Assistant없이 x64 시스템에서 레지스트리를 변경하지 않고 설치했으며 작동했습니다.
Gabriel Guimarães

안녕 @SomeGuy 내가 12c도 당신의 지시를 사용할 수 있습니다 감사합니다
Willie Cheng

최신 Oracle Client for Windows x64 버전 19C의 경우 다운로드 크기-3.1GB를 지원합니다.
Mike

0

예, 시스템 아키텍처는 많은 차이를 만듭니다.

Windows 용 x64 Oracle 클라이언트 소프트웨어를 설치해야합니다.


2GB 인 전체 x64 클라이언트를 다운로드하지 않으면 Oracle 사이트에서 11g 용 x64 구성 요소를 찾을 수없는 것 같습니다. ODAC는 10g까지 올라가는 것 같습니다. 다른 사람이 이것을 눈치 채고 있습니까? 지금은 전체 고객을 시험해 보 겠지만 이전에는 그런 적이 없었습니다. 향후 x64 용 ODAC 11g를 출시 할 수도 있습니다.
SomeGuy

클라이언트는 ~ 615MB, 2GB 패키지는 전체 제품입니다. 여기 참조 : oracle.com/technetwork/database/enterprise-edition/downloads/... .
Massimo

2
@SomeGuy 실제로 11g에 대한 ODAC가 있습니다. 오라클 웹 사이트가 엉망이기 때문에 찾을 수 없습니다.
Gabriel Guimarães
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.