2010-03-12 3 views
0

우리는 데이터베이스 액세스가 필요한 비 관리 코드에 많은 로직을 가진 복잡한 아키텍처를 가지고 있습니다.Classic ADO는 관리되는/관리되지 않는 혼합 된 응용 프로그램에서 여전히 실행 가능합니까?

현재 ODBC 드라이버 및 MFC 클래스를 통해 이루어지며 추상화 계층을 ADO 또는 ADO.Net을 사용하도록 마이그레이션하는 문제를 고려하고 있습니다. 후자의 경우 데이터베이스 논리를 .Net 계층으로 밀어 넣어야합니다. .Net 콜백을 통해 데이터베이스를 호출하는 것이 ADO.Net의 개선으로 상쇄되는지 여부를 결정하려고합니다.

Wikipedia comparison은 비교 테이블의 모든 점을 믿을 수는 없지만 재미있었습니다 (예 : ADO.Net은 항상 XML을 사용하여 데이터를 전달합니까?).

2005 comparison은 ADO.Net의 성능이 극적으로 빨라짐을 보여줍니다.

Microsoft의 guide to ADO.Net for ADO programmers은 OLEAutomation의 Variant를 통해서만이 아니라 네이티브 (.Net) 형식으로 데이터를 사용할 수있는 방법을 ADO.Net으로 전환 할 때 많은 이점을 얻을 것이라고 제안합니다.

답변

1
eg: does ADO.Net always use XML to pass data? 

호는 위키 내의 정보 바보 같은 소리.

2 가지 선택. 첫째, 나는 정말로 ODBC를 없애고 적어도 현명한 OleDb 드라이버로 옮깁니다. 가능한 경우 (말해 - ODBC 드라이버를 사용하여 .driver를 호출하여 타사 응용 프로그램 서버를 호출하는 .NET 응용 프로그램이 있음).

이제 양방향 ADO, 관리되는 ADO.NET 및 NET 계층에서 노출 할 수 있습니다. 그러나 이것은 프로그래머가 결정한 것이 아니며 주요 컨텍스트에서 볼 수있는 아키텍처입니다 . OData 노출 레이어를 사용하여 .NET 레이어로 이동하여 관리되지 않는 레이어에서 해당 레이어를 소비하려고 시도 할 수 있습니다.

관련 문제