네트워크를 통해 실행될 수 있는 .net용 내장 데이터베이스
-
08-06-2019 - |
문제
저는 .net(C#) 애플리케이션에 사용할 내장형 데이터베이스를 찾고 있었고 지금도 찾고 있습니다.주의사항:애플리케이션(또는 최소한 데이터베이스)은 네트워크 드라이브에 저장되지만 한 번에 한 명의 사용자만 사용할 수 있습니다.
이제 내 첫 번째 아이디어는 SQL Server Compact 에디션.정말 훌륭하게 통합되어 있지만 네트워크에서 벗어날 수는 없습니다.
파이어버드 동일한 문제가 있는 것 같지만 .net 통합은 실제로 최고 수준이 아니며 대부분 문서화되지 않은 것 같습니다.
블랙피시 SQL 재미있어 보이지만 .net 버전의 평가판은 없습니다.가격도 괜찮습니다.
.net과 잘 작동하는 다른 제안 사항 그리고 실제로 서버 소프트웨어를 설치할 필요 없이 네트워크에서 실행됩니까?
해결책
SQLite 귀하의 질문을 읽으면서 이런 생각이 들었습니다. 네트워크 드라이브에서 해당 질문에 액세스하는 것이 가능하다고 확신합니다. 만약에 한 번에 1명의 사용자라는 제약을 받습니다.
다른 팁
저는 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 Compact Edition이 작동하지 않는다고 말합니다.단, 이 문서를 보면:
워드 문서:
SQL Server 2005 Compact Edition과 SQL Server 2005 Express Edition 중에서 선택
8페이지에는 "네트워크 공유의 데이터 파일 저장" 옆에 멋진 녹색 체크 표시가 있습니다.
그래서 나는 당신의 첫 번째 생각이 옳은 것 같습니다.
또한 있습니다 발렌티나.저는 Real Basic 프로젝트를 진행하던 중 이 제품을 발견했습니다.RB버전이 너무 좋네요.
OODB를 고려해 보셨나요?내가 추천하는 다양한 오픈 소스 대안 중에서 db4o (자체 홍보해서 죄송합니다 :)) 이는 임베디드 모드나 클라이언트/서버 모드에서 실행될 수 있습니다.
최상의
아드리아노