문제

저는 .net(C#) 애플리케이션에 사용할 내장형 데이터베이스를 찾고 있었고 지금도 찾고 있습니다.주의사항:애플리케이션(또는 최소한 데이터베이스)은 네트워크 드라이브에 저장되지만 한 번에 한 명의 사용자만 사용할 수 있습니다.

이제 내 첫 번째 아이디어는 SQL Server Compact 에디션.정말 훌륭하게 통합되어 있지만 네트워크에서 벗어날 수는 없습니다.

파이어버드 동일한 문제가 있는 것 같지만 .net 통합은 실제로 최고 수준이 아니며 대부분 문서화되지 않은 것 같습니다.

블랙피시 SQL 재미있어 보이지만 .net 버전의 평가판은 없습니다.가격도 괜찮습니다.

.net과 잘 작동하는 다른 제안 사항 그리고 실제로 서버 소프트웨어를 설치할 필요 없이 네트워크에서 실행됩니까?

도움이 되었습니까?

해결책

SQLite 귀하의 질문을 읽으면서 이런 생각이 들었습니다. 네트워크 드라이브에서 해당 질문에 액세스하는 것이 가능하다고 확신합니다. 만약에 한 번에 1명의 사용자라는 제약을 받습니다.

.NET의 SQLite - 3분 만에 시작 및 실행

다른 팁

저는 Advantage Database Server(www.advantagedatabase.com)를 추천합니다.뛰어난 지원을 제공하고 .NET 외에도 다양한 개발 언어에서 액세스할 수 있는 성숙한 임베디드 DB입니다."로컬" 버전은 무료이며 응용 프로그램 내에서 DLL 형식으로 실행되고 서버/네트워크 공유에 설치할 필요가 없으며 모든 주요 DB 기능을 지원합니다.DB 및/또는 애플리케이션 파일을 모두 네트워크에 저장할 수 있습니다.데이터가 어디에 있는지는 중요하지 않습니다.

부인 성명:저는 ADS R&D 그룹의 엔지니어입니다.약속해요, 정말 좋아요 :)

ADO/Access가 귀하의 요구에 딱 맞는 것 같습니다.MS 스택에 구워지고 양념이 잘 되어 있으며 다중 사용자가 사용할 수 있습니다.

프로그래밍 방식으로 다음과 같이 DB를 생성할 수 있습니다.

Dim catalog as New ADOX.Catalog
Catalog.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\server\path\to\db.mdb")

그런 다음 표준 ADO.NET 메서드를 사용하여 데이터베이스와 상호 작용할 수 있습니다.

내장된 파이어버드를 사용할 수 있습니다. 이는 앱과 함께 제공해야 하는 DLL일 뿐입니다.

문서화되지 않은 사실은 사실이 아닙니다. Firebird .NET 드라이버는 ADO 인터페이스를 구현하므로 ADO를 알고 있다면 Firebird로 작업할 수 있습니다. 기본적으로 SQLConnection 대신 FBConnection 등을 사용하게 될 것입니다. 데이터 액세스 레이어를 사용하고 다음과 같이 코드에서 인터페이스만 사용하세요.

using FirebirdSql.Data.FirebirdClient;

public static IDbConnection MyConnection()
{
    FbConnection cn = new FbConnection("...");
    return cn;
}

이 예제는 매우 간단하지만 그 이상은 필요하지 않습니다.

우리는 모든 애플리케이션에 아무런 문제 없이 파이어버드를 사용하고 있습니다. 최소한 사용해 보시기 바랍니다.

확인해 보세요 비스타DB.그들은 매우 좋은 제품을 가지고 있으며, 서버 버전(3.4)은 베타 버전이며 곧 출시될 예정입니다.

여기 포스팅이 좀 늦었습니다..그리고 비스타DB 이미 언급했지만 VistaDB는 100% 관리된다는 점을 지적하고 싶었습니다(귀하의 게시물에 .net 태그가 지정되었으므로).공유 네트워크 드라이브에서 실행할 수 있으며 1MB xcopy가 배포됩니다.

SQL CE를 언급하셨기 때문에 우리는 T-SQL 구문과 데이터 유형(실제로는 SQL CE보다 더 많은 것)도 지원하고 업데이트 가능한 뷰, TSQL Procs 및 SQL CE에 없는 기타 사항도 지원합니다.

왜 사용하지 않습니까? SQL Server 2005 익스프레스 에디션?

이는 실제로 "임베디드"가 무엇을 의미하는지에 따라 다릅니다. 그러나 SQLServer2005E를 응용 프로그램과 함께 재배포할 수 있으며 사용자는 그것이 거기에 있는지 전혀 알 필요가 없습니다.

애플리케이션에 SQL Server Express 포함

사용자 지정 응용 프로그램에 SQL Server Express 포함

나는 의아해한다.

데이터베이스 자체가 서버에 저장되는 내장형 데이터베이스를 요청하고 있습니다.이는 데이터 파일을 네트워크 공유에 저장하는 것을 의미합니다.그런 다음 SQL Compact Edition이 작동하지 않는다고 말합니다.단, 이 문서를 보면:

워드 문서:
SQL Server 2005 Compact Edition과 SQL Server 2005 Express Edition 중에서 선택

8페이지에는 "네트워크 공유의 데이터 파일 저장" 옆에 멋진 녹색 체크 표시가 있습니다.

그래서 나는 당신의 첫 번째 생각이 옳은 것 같습니다.

또한 있습니다 발렌티나.저는 Real Basic 프로젝트를 진행하던 중 이 제품을 발견했습니다.RB버전이 너무 좋네요.

OODB를 고려해 보셨나요?내가 추천하는 다양한 오픈 소스 대안 중에서 db4o (자체 홍보해서 죄송합니다 :)) 이는 임베디드 모드나 클라이언트/서버 모드에서 실행될 수 있습니다.

최상의

아드리아노

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top