2017-02-03 4 views
0

.NET 개발 및 SQL Server CE에 익숙하지 않아 회사 제품의 일부 데이터베이스 문제를 해결하기 위해 노력하고 있습니다.SQL Server CE .NET 다중 응용 프로그램

SQL Server CE가 동적으로 링크 된 두 개의 응용 프로그램 (.csproj)이 있습니다 (.DLL). DLL을 사용하여 데이터베이스를 만들고 업데이트하고 삭제하는 래퍼가 있습니다. SQL Server CE 데이터베이스 (.sdf)

.NET 응용 프로그램과 온라인 SQL 서버 CE에 비트를 읽은 후 나는 발견 : 같은 .sdf 파일에 액세스 할 수 있습니다

  1. 여러 애플리케이션, 여분의 필요가 자신이없는 것으로 데이터베이스에 액세스하기위한 잠금 메커니즘

  2. 데이터베이스가 작고 .NET 응용 프로그램이 메모리에 데이터베이스를로드하고 작업이 메모리 자체에서 수행됩니다. 메모리에 같은 .sdf 파일의 두 사본이 거기에이 .sdf 데이터베이스에 액세스 2 .NET 응용 프로그램이 있습니다 있습니다

    1. 으로하고, 응용 프로그램은 자신을 수정 :

    지금 내 질문은 번역?

  3. 내가 뭘 잘못하고있어, 팀은 문제 (예외 내용이 이미 삭제됨)를보고 데이터베이스 액세스가 느리다.

당신에게

+0

csproj는 앱이 아니므로 .exe는 ... .exe 파일입니까? – ErikEJ

+0

그래서 우리는 .msi의 배경 구조로 .sdf 파일에 액세스하여 .sdf 파일에 액세스하여 .msi의 –

답변

0

1 감사합니다 애플 리케이션이 같은 파일을 공유하는 경우 동일한 파일이 아닌 자신의 버전을 수정합니다. SQL CE의 디스크 지연 시간은 (최대 10 초 기본값)입니다.

2 : 삭제가 이미 발생하면 예외를 던지지 마십시오! (10 초 버퍼 지연의 영향을받을 수 있습니다 - 더 낮게 설정할 수 있지만 약간의 성능에 영향을 미칠 수 있음)

느린 데이터베이스 액세스 : 완전히 관련이 없음 - 필요한 인덱스가 있습니까? 예 : show us 일부 코드, 제발

+0

의 독점 코드로 공유 할 수 없습니다. DBConcurrency 예외가 표시됩니다. 동시성 위반 : DeleteCommand가 예상 한 1 개의 레코드 중 0 개에 영향을줍니다. –

+0

코드 없음 = 코드 관련 도움말 없음, 죄송합니다. – ErikEJ