2014-05-18 2 views
0

소매점 용 소프트웨어를 만들고 있는데 제 소프트웨어가 SQL Server 및 SQLite를 지원하고 싶습니다. 사용자가 독립형 (PC 한 대) 인 경우 sqlite 데이터베이스를 선택하고 네트워크를 통해 SQL Server 옵션을 선택하십시오.다중 데이터베이스 지원 소프트웨어를 만드는 방법은 무엇입니까?

나는 비주얼 스튜디오 2010 vb.net 언어에서이 소프트웨어를 개발하고있다.

연구로서 우리는 비주얼 스튜디오, ODBC, 인 OleDB와 MSSQL에 연결의 세 가지 유형이있다.

OLEDB는 MS-Access 데이터베이스와 SQL Server를 지원할 수 있습니다.

모든 의견과 아이디어는 높이 평가됩니다.

+0

Nhibernate와 같은 ORM을 사용하여 데이터베이스 계층을 추상화하는 방법은 어떻습니까? –

답변

0

응용 프로그램을 코딩하는 가장 좋은 방법은 different tiers 또는 layers에 추상적 인 기능이다. 이것은 많은 것을 의미 할 수 있으며 상당히 복잡 할 수 있지만, 일반적인 아이디어는 애플리케이션의 파트를 분리 된 상태로 유지하는 것입니다. 현재 인벤토리를 찾을 수있는 프로그램의 인벤토리 양식이 있다고 가정 해 보겠습니다. 인벤토리를 표시하는 양식은 고객이 실행중인 데이터베이스를 알 필요가 없습니다. 일반적으로 당신은 더 잘 모릅니다. 마찬가지로, SQL Server, SQLite 또는 Access와 같은 각 데이터베이스에 액세스하는 코드는 인벤토리 양식이 가져 오는 데이터로 수행 할 작업을 실제로 알 필요가 없습니다. 인벤토리 코드가 수행해야하는 모든 작업은 고객에게 가장 유용한 방식으로 인벤토리를 표시하는 것이고 모든 데이터 코딩 작업은 요청 된 데이터를 가져 오는 것입니다.

아마 상황에 걸릴 경로는 데이터 공급자 클래스를 만드는 것입니다. 이 클래스 안에는 고객이 가질 수있는 다른 데이터베이스 시스템뿐만 아니라 다양한 데이터베이스 기능에 대한 로직을 캡슐화하는 곳이 있습니다. 예를 들어 상점 주인이 방금 제품 발송을 받고 상점 상점에 재고를 추가해야한다고 말합니다. 이상적으로 프로그램은 DataProvider.AddInventory()과 같은 호출을 수행 할 수 있어야합니다. DataProvider 클래스에는 고객이 사용중인 데이터베이스 솔루션과 지원하려는 각 데이터베이스 솔루션에 대한 로직 구현을 추적하는 코드를 작성합니다. 이상적으로는 응용 프로그램에 필요한 모든 데이터 함수를 구현하여 AddInventory() 예제와 같이 매우 간단하게 호출 할 수 있도록해야합니다. 당신이 원하는대로 데이터 공급자의

구현은 간단하거나 복잡 할 수 있습니다. 여러 위치에서 데이터 소스에 액세스하는 여러 플랫폼에서 여러 언어로 작성된 여러 응용 프로그램을 사용하려는 경우에는 일종의 미들웨어를 작성하는 것이 좋습니다. 귀하의 경우에는 "내부"에 상주하게 될 응용 프로그램 유형 인 것처럼 들리므로 데이터 액세스를 별도의 클래스로 추상화하여 잘 처리해야합니다.

관련 문제