web-dev-qa-db-ja.com

SQL Serverがなくても.mdfデータベースにアクセスできますか?

SQL Serverで.mdfファイルを作成し、ローカルファイルに配置しました。 SQL Serverがインストールされていないコンピューターでプログラムを実行します。また、System.Data.SqlClient名前空間からのクラスを使用しました(つまり、SqlConnection ..)

SQL Serverによって作成された.mdfファイルを使用して、何らかのアクセス接続を行いたいのですが?出来ますか ?

18
unbalanced

SQL Serverエンジンを経由せずにMDFファイルと対話することは不可能だと思います。SQLServer Expressをインストールする可能性が最も高いです(移動することを選択した場合、これはオプションになるはずです) Visual Studioのプログラムの追加/削除を通じて、または ここから個別にダウンロード-これは2008 R2 With Toolsオプションです )、データベースを接続し、プログラムからそのエンジンに接続できます。

オンラインの多くのチュートリアルでは、User Instances機能とAttachDbFileName。多くの場合、多くのユーザーがManagement Studioを介してデータベースの1つのインスタンスに接続しているため、混乱を招くため、しないでください彼らのプログラムとは異なるインスタンス、そしてなぜ他の人が行った更新を見ないのか理解できません。 User Instances機能は非推奨であり、データベースをインスタンスに適切に接続することを強くお勧めします。

SQL Server 2012では、新しい SqlLocalDb ランタイム( ここからx86またはx64のSqlLocalDB.MSIファイルが必要 )をダウンロードできます。これにより、このプロセスがはるかに簡単になります。メンテナンス不要のオンデマンドSQL Serverエンジンです。ただし、データベースが新しい11.0ファイル形式にアップグレードされることに注意してください。つまり、古いバージョン(2008、2008 R2など)にデタッチ/アタッチしたり、バックアップ/復元したりすることはできません。多くの ここではSqlLocalDbで始まる新規ユーザー向けのトラブルシューティングテクニック を追加しました。

21
Aaron Bertrand

オープンソースプロジェクトである OrcaMDF を使用してみてください。

OrcaMDFとは何ですか?

MDFファイルのC#パーサー。テーブル、メタデータ、およびインデックスをMDFファイルから実行中のSQL Serverインスタンスにアタッチせずに読み取ることができます。

(この説明はプロジェクトのページから取得されます)。

著者のブログ

6
Bogdan Sahlean

MDFに接続するにはSQLが必要です。 SDFに変換してコンパクトエディション(無料)を読み込むことができます。 http://msdn.Microsoft.com/en-us/data/ff687142

2
tzerb