2012-03-30 17 views
1

SQLiteデータベースをプログラムでC#で作成することは可能ですか?プログラムでSQLデータベースを作成するC#

私は自分のアプリケーションに必要な情報を格納するためにXMLを使用していましたが、XMLから読み込まれるデータの量がアプリケーションのパフォーマンスに悪影響を及ぼす段階に達しました。

私が理解しているように、SQLiteデータベースは、提供されたSystem.data.Sqlite機能を使用してより高速に読み込んで追加することができます。

これは間違いありませんか?

[編集] さらに、私はMonodevelopを使用してすべてのことを統一3dでやっていることを述べるべきです。

+1

なぜSQLiteで、SQL CEまたはSQL Server Expressでないのですか?なぜプログラム的に? – JotaBe

+0

ユーザーがアプリケーションGUIを作成して追加できる必要があるため、プログラムによって実行されます。 SQLite。なぜなら、これはXMLの代替案を探すときに私が遭遇したものだったからです。他の選択肢の1つをお勧めしますか? – Dave

+0

SQL CEは無料で、非常に軽量で、MSによってサポートされています。 Umbracoのような一部のシステムでは、バックエンドDBとして使用しています。 DBを作るのはSQLiteで作るのと同じくらい簡単です。 – JotaBe

答えて

2

:で

詳細あなたがその中にテーブルを作成するとき。

+0

私は、これを試しているときに、無効な接続文字列を使用していると言われています。私はグーグルで試してみましたが、何も動かないようです。アドバイスできますか? – Dave

+0

を修正しました。 Unityが適切にリンクしていないので、必要なdllファイルがアセットフォルダにコピーされました。 – Dave

+0

Linq To SQLやEntity Frameworkのようなテクノロジを使用して、.NET Frameworkテクノロジ、リグゼッドDB、T-SQL、SSMSでのDBの管理に慣れている場合は、SQL CEを使用する必要があります。 MSがあまりうまくサポートしていないDBを望んでいる場合は、その技術を管理して使用するためのツールを見つけてください.SQLiteを使用してください。 – JotaBe

1

エンティティフレームワークでコードファースト機能を使用できます.4.0対応のプロバイダは、DeleteDatabase/CreateDatabase/DatabaseExists機能も追加します。私はあなただけでも、接続文字列で、その名前を入れて、それで動作するように明示的にSQLiteデータベースを作成する必要はありませんし、それが自動的に作成されます信じてい

http://blogs.msdn.com/b/adonet/archive/2010/12/14/ef-feature-ctp5-code-first-walkthrough.aspx

-1

SQL Server CEを使用します。

あなたは、このようなデータベースファイルを作成することができます

Create a SQL Server Compact Edition Database with C#

を「公式」MSデータベースですので、私はこれを使用すると思います。したがって、MS技術(LinqからSQL、Entityフレームワークなど)でうまく動作します。また、非常に軽量なDBです。 SQL Server Expressも利用可能であると考えてください。しかし、そうした軽量データベースではありません。データベースを作成する

コード:

string connectionString; 
    string fileName = “ArcaneCode.sdf”; 
    string password = “arcanecode”; 

    connectionString = string.Format(
    “DataSource=\”{0}\”; Password=’{1}’”, fileName, password); 

    SqlCeEngine en = new SqlCeEngine(connectionString); 
    en.CreateDatabase(); 

のみの配布は、ゼロコンフィギュレーション(例えばSQL Server CE 2005のインストーラは、それが7つのアセンブリになり1.7MBの.MSIファイルです)いくつかの小さなアセンブリをコピーする必要があります。また、.NET Framework 2.0,3.0,3.5,4.0(SQL Server 2005からSQL CE 4.0までのバージョン)で使用できるバージョンもあります。

誰かがMSによってサポートされているという助言を見ることができないので、C#やその他のMSテクノロジでそれを使用し、MSDNに関する優れたドキュメントを持っている。

誰かがMSにアレルギーを起こしているので、私は下垂体を得たと思う。そうでない場合は、理由を教えてください。

+1

説明なしでダウンホ... – JotaBe

+1

OPはMS SQL CE dbsではなくSQLite dbsを作成するように求めました。 sqliteを使用することは、他のプログラムとの相互運用性の要件であっても、OSX/Linuxなどで使用する場合には実現可能な唯一のオプションです。 – reiniero

+0

質問のタイトルは「SQLデータベース」の作成方法を尋ねます。完全に一般的な質問。 OPはSQLiteをソリューションとして使用することを提案していますが、SQL Server CEは、Monodevelopを使用していることを追加するまで、軽量で使いやすいオプションでした。ですから、その答えは質問の編集後ももう適用されませんが、この回答の内容はタイトル、元の質問にも適用され、よく解説されています。とにかく、それは私の意見であり、あなたはあなたの否定的な投票であなたが望むものを何でもすることができます。 – JotaBe

関連する問題