programing

ODBC와 ADO.NET의 차이점은 무엇입니까?

yellowcard 2023. 9. 12. 19:57
반응형

ODBC와 ADO.NET의 차이점은 무엇입니까?

저는 .net 4.5.1을 통해 Oracle DB에 연결할 새로운 모듈을 개발하고 있습니다.

  1. ODBC를 사용할까요, ADO를 사용할까요?NET과 그들 사이의 차이점은 무엇입니까?

  2. ADO를 읽었습니다.NET에서는 Oracle 클라이언트를 추가로 설치해야 합니다.추가 모듈을 설치하지 않고 API를 사용할 수 있는 방법은 없습니까?

ODBC는 DBMS에 대한 C/C+/C++/ObjectiveC 기반 연결을 위한 일반적이고 데이터베이스에 구애받지 않는 API로, 선택적으로 ODBC 드라이버 관리자를 통해 이전과 새로운 ODBC API 호출 간의 변환 및 코드 페이지/문자 집합 간의 변환을 처리합니다. 따라서 DBMS별 ODBC 드라이버를 통해,ODBC API 호출을 DBMS별 API 및/또는 DBMS별 클라이언트 계층으로 변환합니다.

C/C+/C++-based tool
-> [optional] ODBC driver manager
   -> ODBC driver 
      -> DBMS libraries
         -> DBMS

ADO.NET은 DBMS 전용 ADO를 통해 DBMS에 대한 C# 기반 연결을 위한 일반적인 데이터베이스 무관 API입니다.ADO를 번역하는 NET Providers.NET API는 DBMS별 API 및/또는 DBMS별 클라이언트 계층을 호출합니다.

C#-based tool
-> ADO.NET Provider
   -> DBMS libraries
      -> DBMS

(JDBC 및 OLE DB는 DBMS에 대한 Java 및 Visual Basic 기반 연결에 대해 각각 유사한 일반적이고 데이터베이스에 구애 받지 않는 API입니다.)

데이터베이스 공급업체는 종종 ODBC 드라이버와 ADO를 "체크박스"(예, 가지고 있습니다)로 제공합니다.NET 프로바이더는 물론 JDBC 드라이버 및/또는 OLE DB 프로바이더도 최고의 성능을 발휘하는 옵션일 필요는 없습니다.

고용주다양한 DBMS를 지원하는 고성능 드라이버 및 공급업체 포트폴리오를 제작하고 있으며, 2주 무료 평가 라이센스와의 비교 테스트를 권장하고 있습니다."Single-Tier" 옵션은 일반적으로 동일한 호스트에 DBMS 클라이언트가 있어야 하며, "Multi-Tier" 옵션은 일반적으로 데이터를 사용하는 호스트에서 이러한 요구 사항을 제거합니다.

C# 기반 도구는 ODBC 드라이버에 직접 연결할 수 없지만 ADO를 사용할 수 있습니다.이러한 API를 브리지하기 위한 ODBC 데이터 소스용 NET Provider입니다.ODBC 대 ADO에 고유한 속도 이점은 없습니다.NET, 그러나 추가적인 API 변환 계층으로 인해 그러한 브리지 솔루션의 속도 손실이 발생합니다.

C#-based tool
-> ADO.NET Provider
   -> ODBC driver 
      -> DBMS libraries
         -> DBMS

(Microsoft의 프로그래밍 도구는 Windows 내장 ADO를 사용합니다.ODBC 데이터 원본을 C# 프로그래밍 프로젝트의 대상으로 선택할 때 보이지 않게 자동으로 NET-to-ODBC Bridge Provider.저희 고용주는 또한 그러한 교량 공급업체를 생산하고 있으며, 이는 많은 상황에서 더 나은 서비스를 제공합니다.)

ODBC는 일반적인 공급자이며 ODBC 드라이버는 간단한 CSV-파일을 포함한 거의 모든 데이터 소스에 사용할 수 있습니다.

단점으로는 ADO보다 기능이 적습니다.NET과 (적어도 이론적으로는) 성능이 떨어집니다.

ADO.NET은 관계형 데이터베이스에 연결하기 위해 더 엄격합니다.Microsoft의 Oracle 공급자는 사용되지 않으므로 새 프로젝트에 사용해서는 안 됩니다.

완성도를 위해 OLE DB라는 세 번째 공급자도 있습니다( 네임스페이스 참조).System.Data.OleDb Provider for (. / OLE DB Provider for Oracle ()msdaora)도 사용하지 않습니다.Oracle에서 제공하는 공급자OraOLEDB.Oracle여전히 전폭적인 지지를 받고 있습니다.

Oracle에 대한 최신 연결을 위해서는 "Oracle Data Provider for"를 사용해야 합니다.NET"(ODP).NET), 여기서 다운로드 가능: 64비트 Oracle Data Access Components(ODAC) 다운로드

모든 ODBC, OLE DB 및 ODP.NET에는 Oracle Client를 설치해야 합니다.우회할 수 있는 유일한 방법은 "ODP"를 사용하는 것입니다.NET Managed Driver".위와 같은 위치에서도 다운로드가 가능합니다.

언급URL : https://stackoverflow.com/questions/34546025/what-are-the-differences-between-odbc-and-ado-net

반응형