39

私は.net(c#)アプリケーションで使用される組み込みデータベースを探していました(そして今もそうです)。警告:アプリケーション(または少なくともデータベース)はネットワークドライブに保存されますが、一度に1人のユーザーのみが使用します。

さて、私の最初のアイデアはSQL ServerCompactEditionでした。それは本当にうまく統合されていますが、ネットワークから実行することはできません。

Firebirdにも同じ問題があるようですが、.net統合は実際には一流ではないようで、ほとんど文書化されていません。

Blackfish SQLは面白そうに見えますが、.netバージョンの試用版はありません。価格もOKです。

.netうまく機能し、サーバーソフトウェアを実際にインストールする必要なしにネットワークから実行される何かの他の提案はありますか?

4

11 に答える 11

26

あなたの質問を読んでいるときにSQLiteが頭に浮かびました。一度に1人のユーザーの制約を守れ、ネットワークドライブからSQLiteにアクセスできると確信しています。

.NET上のSQLite-3分で起動して実行

于 2008-08-03T14:48:52.497 に答える
10

Advantage Database Server (www.advantagedatabase.com) をお勧めします。これは、.NET に加えて多くの開発言語からアクセスでき、優れたサポートを備えた成熟した組み込み DB です。「ローカル」バージョンは無料で、アプリケーション内で DLL の形式で実行され、サーバー/ネットワーク共有にインストールする必要がなく、すべての主要な DB 機能をサポートします。データベースやアプリケーション ファイルをすべてネットワーク上に保存できます。データがどこにあるかは気にしません。

免責事項: 私は ADS R&D グループのエンジニアです。私は約束します、それは揺れます:)

于 2008-10-21T19:20:27.840 に答える
9

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メソッドを使用してデータベースと対話できます。

于 2008-08-03T15:48:43.657 に答える
9

埋め込まれたfirebirdを使用できます。これは、アプリに同梱する必要がある単なるdllです。

文書化されていないことについては、実際にはそうではありません。firebird .NET ドライバーは ADO インターフェイスを実装しているため、ADO を知っている場合は Firebird を使用できます。基本的に SQLConnection の代わりに FBConnection などを使用しますが、私のアドバイスは、データ アクセス レイヤーを使用し、次のようにコードでインターフェイスのみを使用します。

using FirebirdSql.Data.FirebirdClient;

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

この例は非常に単純ですが、それ以上のことは必要ありません。

すべてのアプリケーションで問題なく firebird を使用しています。少なくとも試してみてください。

于 2008-08-09T12:51:41.973 に答える
8

VistaDBをチェックしてください。彼らは非常に良い製品を持っています、サーバーバージョン(3.4)はベータ版であり、リリースに非常に近いです。

于 2008-08-03T14:57:18.907 に答える
7

ここでの投稿に少し遅れて..VistaDB については既に言及されていますが、VistaDB は 100% 管理されていることを指摘したいと思います (投稿に .net のタグが付けられたため)。共有ネットワーク ドライブから実行でき、1MB の xcopy が展開されます。

あなたがSQL CEに言及したので、T-SQL構文とデータ型(実際にはSQL CE以上)もサポートしており、更新可能なビュー、TSQL Procs、およびSQL CEに欠けているその他のものがあります。

于 2009-04-22T21:01:35.847 に答える
5

SQL Server 2005 Expressエディションを使用してみませんか?

それは実際には「埋め込まれた」とはどういう意味かによって異なりますが、SQLServer2005Eをアプリケーションに再配布することができ、ユーザーはそれがそこにあることを知る必要はありません。

アプリケーションへのSQLServerExpressの埋め込み

SQLServerExpressのカスタムアプリケーションへの埋め込み

于 2008-08-03T15:34:17.523 に答える
4

困惑しています。

データベース自体がサーバーに保存されている埋め込みデータベースを求めています。これは、データファイルをネットワーク共有に保存することを意味します。次に、SQL CompactEditionは機能しないと言います...このドキュメントを見る場合を除いて:

Word文書:
SQL Server 2005CompactEditionとSQLServer2005ExpressEditionのどちらかを選択する

8ページでは、「ネットワーク共有上のデータファイルストレージ」の横に大きな緑色のチェックマークが付いています。

ですから、あなたの最初の考えは正しいものだったように私には思えます。

于 2009-04-22T21:18:38.643 に答える
2

Valentinaもあります。Real Basicプロジェクトに取り組んでいたときに、この製品に出くわしました。RBバージョンはとても良いです。

于 2008-08-10T02:55:20.930 に答える
2

OODB を検討したことがありますか? さまざまなオープン ソースの選択肢の中から、組み込みまたはクライアント/サーバー モードで実行できるdb4o (自己宣伝で申し訳ありません:)) をお勧めします。

一番

アドリアーノ

于 2010-05-16T15:18:27.793 に答える