현재 쿼리 작성기 응용 프로그램을 개발 중입니다. 기본적으로 SQL에 대한 지식이없는 사용자가 데이터베이스에 대한 다양한 쿼리를 정의 할 수있는 간단한 그래픽 인터페이스입니다 (조인, 선택, 업데이트 , 삽입, 삭제). 나는 닷넷 3.5를 사용할 것이다. 내 응용 프로그램은 여러 데이터베이스를 지원해야하며 MS-SQL Server, MySQL 및 Oracle과도 작동해야합니다. 에 대한 관련 힌트 또는 링크와 관련하여 독자적인 DAL을 설계하는 방법에 대해 감사드립니다.공급자 독립형 DAL (.Net)을 디자인하는 방법
사용자는 데이터베이스 서버, 현재 서버의 데이터베이스를 선택하고 연결 자격 증명을 제공하며 다양한 테이블을 선택하고 일련의 콤보 상자를 사용하여 쿼리를 정의한 다음 유효하면 마지막으로 쿼리를 실행합니다. 물론 DAL에서 각 DB 공급자에 대한 메서드를 갖고 싶습니다. 나는 공장 패턴의 라인에서 뭔가를 생각하고있다.
참고 :이 프로젝트는 간단한 학교 프로젝트이므로 결과 쿼리의 보안이나 성능에는 관심이 없습니다.
업데이트 : 당신이 제공 한 매우 중요한 연구 결과와 함께 DbProviderFactory를 사용하기로 결정했습니다. ORM은 흥미로울 것입니다. 그러나 쿼리 분석기/빌더를 원할 때부터 필자는이 쿼리 분석기/빌더를 사용하는 지점을 보지 못했습니다. 따라서 DbProviderFactory 및 관련 클래스를 사용하는 방법에 대한 자세한 자습서를 알려 주시면 감사하겠습니다.
세계에서 이것이 어떻게 도움이 될까요? 적절한 DbProviderFactory를 가져 오는 것은 기능의 0.2 %를 비참하게 만듭니다. 가장 복잡한 부분은 DbProviderFactory 기능 _at all_에서 다루지 않는 실제 쿼리 구문입니다. –
그는 쿼리 구문에 대해 아무것도 묻지 않았습니다. 그는 공급자 독립 DAL에 대해 물었습니다. DbProviderFactory는 DAL 기반으로 이미 구현 된 팩토리 패턴을 제공합니다. 기능의 부족은 광범위한 RDBMS에서 작동 할 수 있어야하고 따라서 데이터베이스의 공급 업체별 기능을 사용하지 않아야한다는 사실 때문입니다. 그가 똑바로 선택, 갱신, 삭제 및 삽입에 고집하는 경우에 어떤 문제점도 있으면 안된다. 하지만 ORM이 허용하는 것은 아닙니다. –
ORM 사용 : 응용 프로그램에 하드 코딩 된 비즈니스 객체가 있으면 완벽하게 작동합니다. 그러나 응용 프로그램이 MS의 쿼리 분석기와 같은 특정 도메인이없는 간단한 쿼리 작성기/러너 인 경우 ORM은 내가 아는 한별로 도움이되지 않습니다. 내가 틀렸다면 나를 교정하십시오. 나는 100 % ORM의 모든 사용법을 고수하지는 않습니다. –