카테고리 없음

[씨#] MS Access를 .NET 애플리케이션 백엔드로 사용 [닫기]

행복을전해요 2021. 1. 9. 13:38

어디서 시작하나요?

  1. 개발 환경 선택 (예산과 Professional 버전의 기능 요구 사항에 따라 Visual Studio 2008 Express 또는 Professional을 제안합니다)
  2. 한 명의 개발자라도 버전 관리 시스템을 선택하십시오 !!!! (Subversion은 관리 오버 헤드가 거의 없으며 한 명의 개발자에게는 괜찮습니다)
  3. .NET Framework 버전을 선택합니다 (응용 프로그램이 Win2K에서 실행되어야하는 경우가 아니면 3.5도 괜찮음, Win2K의 경우 .NET 2.0 사용)
  4. 성숙한 프로그래밍 언어를 선택하십시오 (C # 또는 VB.NET, 귀하 또는 귀하의 상사가 가장 좋아하는 것).
  5. GUI 기술을 선택하십시오 (단일 개발자의 경우 웹 응용 프로그램이나 명령 줄 유틸리티를 작성하지 않는 한 WinForms를 사용하는 것이 좋습니다).
  6. 성숙한 DB 액세스 기술을 선택하십시오 (ADO.NET은 오래된 ADO / OleDB 또는 DAO를 더 잘 처리하는 매우 높은 성능 요구 사항이없는 한 많은 작업에서 작동합니다).
  7. 편집 : Google을 사용하여 선택한 기술에 따라 일부 항목 예를 찾거나 책을 구입하십시오. 예를 들어, 다음 은 MS Access DB에 액세스하기 위해 OLE DB를 사용하는 C # 용입니다. 이 Access 사이트 도 좋은 출발점입니다.
  8. EDIT2 : "Microsoft Access"(Office 응용 프로그램)에 익숙해 지십시오. 일반 사용자처럼 사용할 것이기 때문이 아니라 관리 목적으로 필요할 것입니다. 또한 포함 된 VBA 및 SQL 설명서는 C # 또는 VB.NET으로 코딩하는 경우에도 유용 할 수 있습니다.
  9. EDIT3 :보고 목적으로보고 기술을 선택하십시오. 예를 들어 필요, 기술 및 / 또는 예산에 따라 여기에는 많은 가능성이 있습니다.

    • 일반 ASCII 또는 CSV 보고서 (수작업으로 코딩 됨)
    • HTML 또는 XML 보고서
    • 보고 엔진으로 Excel 사용
    • Report.NET 과 같은 PDF 라이브러리 사용
    • Crystal Reports와 같은 타사 도구 사용

    Google에 '보고서 생성 .net'제공하면 유용한 링크가 많이 있습니다 ( 예 : 이 링크) .

마지막으로 SO로 돌아가서 더 구체적인 질문을 할 수 있습니다.

조직에 이미 존재하는 코드에 따라 다른 제약이있을 수 있습니다. 그리고 F#WPF 또는 Linq to Entities 와 같은 기술은 피할 것 입니다.

-------------------

귀하의 질문이 너무 모호하여 일반적인 조언 이상을 제공 할 수 없습니다. 이미 다른 .Net 응용 프로그램을 개발했다면이 새로운 응용 프로그램을 개발하는 방법은 실제로 다르지 않습니다.

데이터베이스 고려 사항 :

MS Access를 백엔드 데이터베이스로 사용할 때 염두에 두어야 할 유일한 사항은 다음과 같습니다.

  1. 확장 성-MS Access는 잘 확장되지 않으며 소수의 사용자에게만 적합합니다. * 편집 : 사용자가 수행하는 활동 유형에 따라 숫자가 달라집니다.보고 솔루션의 경우 Microsoft는 최대 100 명의 동시 사용자를 제안합니다. 이 백서에서 자세한 정보를 제공합니다. *
  2. 보안-MS Access는 다른 데이터베이스 제품 (SQL Server, Oracle, MySQL)에서 볼 수있는 것과 동일한 수준의 정교한 보안을 제공하지 않습니다.
  3. SQL 구문-MS Access에 대한 특정 유형의 쿼리를 작성하는 방식에 약간의 차이가 있습니다.
  4. 기타 제한 사항-MS Access는 저장 프로 시저를 지원하지 않으므로 모든 데이터 액세스 코드는 인라인 SQL 명령 (command.Type = CommandType.Text)을 사용해야합니다.
    1. Microsoft Access에서 지원하는 최대 데이터베이스 크기는 2GB입니다. 데이터베이스의 증가를 주시하십시오.

디자인 고려 사항 :

  1. 기존 MS Access 데이터베이스에 이미 일부 사용자 양식과 코드 모듈이 있습니까? 그렇다면이를 응용 프로그램의 기반으로 사용할 수 있습니다. MS Access는 프로그래밍 언어로 VBA (Visual Basic for Applications)를 사용하며 VBA를 VB.Net으로 포팅 할 도구 / 유틸리티는 없습니다.

  2. 설계에 도움이 될 수있는 유사한 응용 프로그램이 다른 곳에 있습니까?

  3. 데이터 액세스 코드를 가능한 한 양식에서 제외하십시오. 데이터 액세스 코드를 별도의 클래스 / DLL에 보관하여 유지 관리가 더 쉽도록하십시오.

    • 편집 : 다른 사람들이 제안했듯이 ADO.Net 연결 및 명령 개체의 인스턴스가 사용자 인터페이스 전체에 흩어져있는 것을 피하십시오. 모든 데이터베이스 연결 코드를 하나의 클래스 / DLL에 넣어 쉽게 수정 / 유지 / 교체 할 수 있습니다. 또한 동일한 이유로 모든 SQL 쿼리 문을 별도의 클래스 또는 모듈에 넣는 것이 좋습니다. *
  4. 귀하 또는 귀하 이전의 다른 사람들이 제정 한 사내 지침을 따르십시오.

  5. 유지 보수 가능성을 염두에 두십시오. 이후 누군가 변경해야 할 수도 있습니다. 코드에서 주석을 사용하고 개체 (양식 / 변수 / 함수 이름)에 적합한 이름을 지정합니다.

  6. 코드를 정기적으로 백업하십시오. 매일 네트워크 드라이브 또는 USB 드라이브에 사본을 보관하십시오.

-------------------

한 가지 조언은 단일 클래스 내에 모든 Access 관련 코드를 캡슐화하는 것입니다. 클래스는 최소한 다음을 수행 할 수 있어야합니다.

  • Access .mdb 파일 찾기
  • 모든 OleDbConnection개체 생성 및 열기
    • 모든 연결이 닫히도록 보장하는 것이 중요하므로 사용을 using블록으로 래핑하는 것이 매우 좋습니다.
  • (아마도) 모든 OleDbCommands를 빌드하고 실행합니다 (소비 구성 요소에서 db 관련 로직 제거). 데이터 요청을하고 결과를 검색하는 동시에 연결 및 명령 등을 투명하게 생성 할 수 있어야합니다.
-------------------

Access 데이터베이스에 액세스하려면 NHibernate ? 내가 아는 한 Microsoft Access를 지원 하고 이와 같은 라이브러리를 사용하면 나중에 데이터를 다른 종류의 데이터베이스로 이동하려는 경우 작업이 더 쉬워 질 수 있습니다.

-------------------

.NET 언어와 MS Access에 이미 익숙하다면 아주 간단한 MS Access 데이터베이스를 개발하고 해당 데이터베이스에 연결하고 몇 가지 기본 기능을 수행하는 작은 .NET 콘솔 애플리케이션을 작성하는 것부터 시작하는 것이 좋습니다. 삽입 / 삭제 / 업데이트. 그런 다음 peice로이 조각 위에 구축하여 GUI / 개별 라이브러리 (dll) 등을 도입하는 경우입니다.

안타깝게도 .NET Linq to SQL (ORM)은 MS Access 데이터베이스를 지원하지 않으므로 비즈니스 개체를 처음부터 개발해야합니다 (항상 나쁜 것은 아닙니다!).

다음은 C #을 사용하는 MS 응용 프로그램 의 좋은 시작점 입니다.

-------------------

여기에 좋은 조언이 많이 있습니다. 내가 추가 할 것은 모든 데이터 액세스를 구축하고 잘 정의 된 인터페이스 뒤에 클래스를 수정하는 것입니다. 이 응용 프로그램이 MS Access를 확장하고 잘 정의 된 인터페이스를 사용하면 다른 데이터베이스로 쉽게 업그레이드 할 수있는 때가 올 것이라고 확신합니다.



출처
https://stackoverflow.com/questions/2005981