2012-02-27 2 views
3

다른 서버 유형과 버전간에 전환하기 위해 다중 데이터베이스 서버 환경을 찾고 있습니다.개발 용 데이터베이스 서버

. 연결 문자열로 정의 된 여러 데이터베이스 서버를 처리해야하는 .Net 앱이 있지만 모든 서버 설치/구성을 직접 처리하고 싶지는 않습니다. 로컬로 모든 연결을 처리하기 위해

내가 표준 Northwind 데이터베이스 같은 생각하지만, MySQL은, 오라클, SQL 서버 2005 등 SQL 서버 2008과 같은 다른 서버에서 호스팅하고있어 ...

, 나는 connectionString과 providername을 취하고 지정된 통신 프로토콜을 통해 쿼리를 실행하는 일종의 프록시 클라이언트를 생각하고있었습니다.

해당 서비스가 있다면 누구에게 아이디어가 있습니까? (무료 및/또는 상업적)

감사

나는 ConnectionString을하고 providerName도를 취하고 통해 쿼리를 실행 프록시 클라이언트의 일종을 갖는 대해 생각했다, 로컬의 모든 연결을 처리하기 위해
+0

이것은 정말 좋은 질문입니다! 나는 약간의 답을 보게되어 기쁘다. 단지 호기심 때문에이 목적이 무엇입니까? 왜 여러 서버 유형이 있습니까? –

+0

데이터베이스 스키마 비교 응용 프로그램을 작성하고 여러 서버 유형 간의 지원 비교를 목표로합니다. 아이디어는 비즈니스 계층이 어떤 유형의 데이터가 저장되어 있어도 동일한 데이터를 처리하도록하는 것입니다. – Ionut

답변

1

지정된 통신 프로토콜.

최소한이 경우 ADO를 사용하면 상당히 일반적인 방식으로 연결할 수 있습니다. 다른 데이터베이스가 모두 다른 SQL 언어를 사용하기 때문에 귀하의 마일리지가 달라질 수 있습니다.

모든 플랫폼에 대해 동적으로 SQL을 작성하는 SQL DSL을 사용하는 것이 더 나을 것입니다. 특정 데이터 공급자에 의존하지 않는 일반적인 데이터 액세스 코드를 작성하는 개발자를 가능하게

Factory Model Overview (ADO.NET)

ADO.NET 2.0도 소개 추상 기본 클래스

.

...

쓰기 공급자 독립적 인 코드의 프로그래밍 모델은 여러 공급자를 통해 데이터베이스에 액세스하기 위해 단일 API를 사용하는 "공장"디자인 패턴의 사용을 기반으로합니다. 이 패턴은 실제 개체처럼 다른 개체를 만드는 데 사용되는 특수한 개체의 사용을 요구하므로 적절하게 명명됩니다.

DbProviderFactories.GetFactoryClasses는 이해한다

  • System.Data.Odbc
  • System.Data.OleDb
  • System.Data.OracleClient
  • System.Data.SqlClient
  • System.Data.SqlServerCe.3.5
+0

예, 이미 구현했습니다. 내가 찾고있는 것은 서버 인스턴스 자체와 로컬 디버그 머신에서 로컬 액세스 문자열 (및 공급자 이름)을 원격 (데이터웨어 하우스) 서버 환경에 매핑하는 인터셉터와 같은 프록시를 사용하여 액세스하는 가능성입니다. 여러 서버 인스턴스 (mysql, oracle, mssql 등). 모든 서버를 로컬에 설치하지 않아도되므로 시간을 크게 절약 할 수 있습니다. 감사 – Ionut