none
sdf ファイルを作るには RRS feed

  • 質問

  • SQL Server Compact には SqlCeEngine というのがあって CreateDatabase() で sdf ファイルを作れますが
    SQL Server Express には SqlCeEngine に相当するものがありません。
    SQL Server Express 用の sdf ファイルを作るにはどうすれば良いのでしょうか。

    2011年6月3日 2:12

回答

  • こんにちは。

    SQL Server Management Studioのオブジェクトエクスプローラから
    「データベース」を右クリック → 新しいデータベース

    で作れます。

    まずは下記あたりから読んでみてはいかがでしょうか。

    ■SQL Server 2008 R2 の基本が知りたい
    http://www.microsoft.com/japan/sqlserver/2008/r2/technology/self-learning.mspx#02
    • 回答としてマーク 山本春海 2011年6月16日 6:46
    2011年6月3日 5:11
  • ソリューションエクスプローラからプロジェクトを右クリックして、追加 → 新しい項目で「新しい項目の追加」画面が開いたら、カテゴリで「データ」を選び、テンプレートで「サービスベースのデータベース」で作成できます。

     


    ★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://d.hatena.ne.jp/trapemiya/
    • 回答としてマーク 山本春海 2011年6月16日 6:46
    2011年6月3日 5:14
    モデレータ
  • SQL Server Compactはサービスプロセスを必要とせず、アプリケーションプロセス内で動作するデータベースエンジンです。

    それに対してSQL Server Expressはサービスプロセスが必要で、つまりインストール処理&事前設定が必要です。

    さて質問ではSqlCeEngine.CreateDatabaseメソッドに言及していましたが、これの意味するところは、プログラム的にデータベースファイルを作りたいということでしょうか?

    Tetuaki Uchidaさんやtrapemiyaさんが回答されている方法は、別ツールでmdfファイルを作り、必要であればそれを使うことになります。さてさてこれで要望を満たせているのかどうか。

    • 回答としてマーク 山本春海 2011年6月16日 6:46
    2011年6月3日 5:20
  • 佐祐理さんのおっしゃっていることがもっともな気がしてきました。。。

    プログラムからですと、少々古い文献ですが下記が参考になると思います。

    ■ADO.NET と Visual C# .NET を使用してプログラムから SQL Server データベースを作成する方法
    http://support.microsoft.com/kb/307283/ja

    # スクリプトファイルに書き出してsqlcmd叩く方法もあります。
    # プログラムからデータベース作成って、インストーラが目的なのでしょうかね。

    以上、参考になりましたら幸いです。

    • 回答としてマーク 山本春海 2011年6月16日 6:46
    2011年6月3日 14:07

すべての返信

  • sdfファイルはCompactエディションでのみ使えるものです。
    Expressでは通常のSQL Serverと同じmdfファイルしか使えません。
    何をしたいかにもよりますが、SQL Server自体についていろいろ調べてみてはいかがでしょう。


    あおい情報システム株式会社 小野修司(どっとねっとふぁん)
    2011年6月3日 2:22
  • すみません。間違えてました。
    mdf ファイルを作りたかったのです。
    mdfファイルにテーブルやデータを追加する方法は分かっているのですが、
    まず、最初のmdfファイルを作るところが分からなかったのです。

    2011年6月3日 5:02
  • こんにちは。

    SQL Server Management Studioのオブジェクトエクスプローラから
    「データベース」を右クリック → 新しいデータベース

    で作れます。

    まずは下記あたりから読んでみてはいかがでしょうか。

    ■SQL Server 2008 R2 の基本が知りたい
    http://www.microsoft.com/japan/sqlserver/2008/r2/technology/self-learning.mspx#02
    • 回答としてマーク 山本春海 2011年6月16日 6:46
    2011年6月3日 5:11
  • ソリューションエクスプローラからプロジェクトを右クリックして、追加 → 新しい項目で「新しい項目の追加」画面が開いたら、カテゴリで「データ」を選び、テンプレートで「サービスベースのデータベース」で作成できます。

     


    ★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://d.hatena.ne.jp/trapemiya/
    • 回答としてマーク 山本春海 2011年6月16日 6:46
    2011年6月3日 5:14
    モデレータ
  • SQL Server Compactはサービスプロセスを必要とせず、アプリケーションプロセス内で動作するデータベースエンジンです。

    それに対してSQL Server Expressはサービスプロセスが必要で、つまりインストール処理&事前設定が必要です。

    さて質問ではSqlCeEngine.CreateDatabaseメソッドに言及していましたが、これの意味するところは、プログラム的にデータベースファイルを作りたいということでしょうか?

    Tetuaki Uchidaさんやtrapemiyaさんが回答されている方法は、別ツールでmdfファイルを作り、必要であればそれを使うことになります。さてさてこれで要望を満たせているのかどうか。

    • 回答としてマーク 山本春海 2011年6月16日 6:46
    2011年6月3日 5:20
  • 佐祐理さんのおっしゃっていることがもっともな気がしてきました。。。

    プログラムからですと、少々古い文献ですが下記が参考になると思います。

    ■ADO.NET と Visual C# .NET を使用してプログラムから SQL Server データベースを作成する方法
    http://support.microsoft.com/kb/307283/ja

    # スクリプトファイルに書き出してsqlcmd叩く方法もあります。
    # プログラムからデータベース作成って、インストーラが目的なのでしょうかね。

    以上、参考になりましたら幸いです。

    • 回答としてマーク 山本春海 2011年6月16日 6:46
    2011年6月3日 14:07
  • 兼田 さん、こんちには。

    MSDN フォーラムのご利用ありがとうございます。オペレーターの山本です。

    みなさんからアドバイスをいただいているかと思いますが、いかがでしたでしょうか。
    兼田さんが必要とされていた情報はどちらだったのでしょう。。。

    どちらにしても参考になる情報をいただいていると思いましたので、他の方にもこの情報を有効活用していただくよう、勝手ながら私のほうで回答としてマークさせていただきました。
    アドバイスくださった皆さん、ありがとうございました。

    もし、意図している内容とは違っていたり、不明点などありましたら、詳細を投稿していただければ情報を得られるかもしれません。
    今後ともMSDNフォーラムをよろしくお願いいたします。それでは。
                                                                     
    日本マイクロソフト株式会社 フォーラム オペレーター 山本 春海

    2011年6月16日 6:46