2011-04-13 5 views
0

네트워크 디스크에 공유 된 파일로 포함 된 데이터베이스를 가질 수 있으며 여러 사용자가 동시에 읽고 쓸 수 있습니다.다중 연결을 지원하는 C# 용 내장 데이터베이스

느려짐은 문제가 아니지만 데이터베이스 소프트웨어를 설치해야합니다. Microsoft SQL Server Compact는 이러한 목적에 적합합니까?

답변

1

나는 오케이해야한다 MS의 SQL Server Compact 해당 버전 3.5 이상을 제안 this page on the msdn 발견 이 시나리오에서

같은 시간에 액세스 같은 데이터베이스, SQL 서버 컴팩트 3.5 다중 사용자 지원을 제공하는 여러 응용 프로그램을 지원합니다. 다중 사용자 지원 데이터베이스의 여러 사용자가 병합 복제 또는 원격 데이터 액세스 (RDA)를 사용하기 전에 데이터베이스 연결을 끊지 않고도 데이터를 동기화 할 수 있습니다. 다중 사용자 동기화에 대한 자세한 내용은 을 참조하십시오. 다중 사용자 액세스 및 RDA 및 다중 사용자 액세스 및 동기화

그러나 저는 개인적으로이 경험이 없으므로 확실히 작동하는지 확실히 말할 수 없습니다.

+0

나는 개인적인 경험으로 확인을 원했다. 어쨌든 고마워! – ipavlic

+0

@ipavlic - 아무도 MSSQL CE 사용에 대한 실제 경험을 이런 식으로 제공 할 수 없다면 Microsoft의 누군가에게 전자 메일을 발송할 가치가 있습니다. –

0

SQLIte for .NET이 (가) 유용합니다.

SQLite는이 가 자체 포함, 임베드, 제로 구성 SQL 데이터베이스 엔진을 구현하는 작은 C 라이브러리입니다. 특징은 다음과 같습니다 :

  • 거래도 시스템 충돌 및 전원 실패 후 (ACID), 원자 일관성, 격리 및 내구성. 0 구성 - 아니요 설정 또는 관리가 필요합니다.
  • 대부분의 SQL92를 구현합니다. (지원되지 않는 기능)
  • 전체 데이터베이스는 단일 디스크 파일에 저장됩니다.
  • 서로 다른 바이트 주문을 사용하여 컴퓨터간에 데이터베이스 파일을 자유롭게 공유 할 수 있습니다.
  • 최대 2TB (241 바이트) 크기의 데이터베이스를 지원합니다.
  • 문자열과 BLOB의 크기는 사용 가능한 메모리에 의해서만 제한됩니다.
  • 작은 코드 풋 프린트 (을 i486에 GCC) C 코드의 미만 30K 라인, 2백50킬로바이트 코드 공간보다 일반적인 작업을위한 인기있는 클라이언트/서버 데이터베이스 엔진에 비해
  • 빠른.
  • API를 사용하기 쉽고 간단합니다.
  • TCL 바인딩이 포함됩니다. 다른 많은 언어에 대한 바인딩은 을 따로 사용할 수 있습니다.
  • 테스트 커버리지가 95 %를 넘는 잘 설명 된 소스 코드입니다.
  • 자가 포함 : 외부와의 종속 관계가 없습니다.
  • 출처는 공개 도메인입니다. 어떤 목적 으로든 사용하십시오.
+0

SQLite 설명서는 다음과 같이 말합니다. "[...] 두 개 이상의 클라이언트 프로그램이 동시에 같은 데이터베이스의 동일한 부분을 수정하여 데이터베이스 손상을 초래할 수 있습니다.이 문제는 기본 파일 시스템 구현은 SQLite가 막을 수있는 방법이 없습니다. 네트워크 파일 시스템을 통해 여러 컴퓨터에서 동시에 동일한 데이터베이스에 액세스 할 때 SQLite를 사용하지 않는 것이 좋습니다. " – ipavlic

+0

연결을 대신 처리하는 래퍼를 작성 하시겠습니까? – Zolomon

+2

그는 데이터베이스 소프트웨어를 설치하고 싶지 않으면 데이터베이스 소프트웨어를 쓰고 싶지 않을 것이라고 생각합니다. –

1

VistaDB을 사용해 보셨습니까? 귀하의 요구 사항을 충족해야한다고 생각합니다.

+0

요구 사항을 충족하는 것 같습니다. 가격표는 다소 높습니다. – ipavlic

관련 문제