none
SQL Server 2005 Express でデータのインポート可能? RRS feed

  • 質問

  • お世話になっています。

    データのインポートやエキスポートは、

    無償で配信されているSQL Server 2005 Express(

    Management Studio Express CTP) では、

    できないように思います。

    もしそうならば、それと同様に

    SQL Server 2005 Express以外からデータを持ってくるには、

    やはり、ADO.NET を利用する方法が残されているだけでしょうか?

    2006年4月9日 7:20

回答

  • MDF ファイルのコピーではだめなのでしょうか?
    Express の場合はあまり意識しなくてもいいのですが、他の Edition の場合は sp_attach_db をやらないといけません。
    この場合は LDF も必要になります。

    あと BCP コマンドがあるか確認してもらえますか?
    私は Express のみの環境がないのでわからないので。
    もし BCP があるのなら、BCP で必要な形式に出力すればよいでしょう。

    2006年4月9日 9:35
  • Visual C# 2005 Express とかを扱えるのなら,
    System.Data.SqlClient に
    SqlBulkCopy というクラスが加わったので,
    そのクラスに,
     WriteToServer( IDataReader )
    というオーバーロードメソッドがあるので,
    OleDbConnection と
    OleDbCommand の ExecuteReader() で,
    OleDbDataReader のインスタンスを取得できるので,
    それを渡して,WriteToServerを呼び出す感じでしょう。
    今までよりは,かなり,楽になっています。

    [追記: よく読むと,ADO.NET以外の方法はないのか?という質問なんですね
    確認したところ,Expressのみ状況でも90\Tools\binnにbcp.exeがありました]

    2006年4月9日 14:30
  • Access や Excel のデータを CSV などで保存し、BCP コマンドで一気に取り込む方法になります。
    詳しくは http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/coprompt/cp_bcp_61et.asp あたりを参照されたし。
    ちなみに Access の Upsizing Wizard は互換性の問題がありそうなので避けたほうが無難でしょう。
    2006年4月10日 0:08

すべての返信

  • MDF ファイルのコピーではだめなのでしょうか?
    Express の場合はあまり意識しなくてもいいのですが、他の Edition の場合は sp_attach_db をやらないといけません。
    この場合は LDF も必要になります。

    あと BCP コマンドがあるか確認してもらえますか?
    私は Express のみの環境がないのでわからないので。
    もし BCP があるのなら、BCP で必要な形式に出力すればよいでしょう。

    2006年4月9日 9:35
  • ありがとうございます。

    ご指導の点については、残念ながら不勉強のため

    理解するのに、時間がかかりそうです。

    ただ、AccessやExcelなどからデータをインポートするときは、

    また別の方法が必要でしょうか?

    2006年4月9日 12:22
  • Visual C# 2005 Express とかを扱えるのなら,
    System.Data.SqlClient に
    SqlBulkCopy というクラスが加わったので,
    そのクラスに,
     WriteToServer( IDataReader )
    というオーバーロードメソッドがあるので,
    OleDbConnection と
    OleDbCommand の ExecuteReader() で,
    OleDbDataReader のインスタンスを取得できるので,
    それを渡して,WriteToServerを呼び出す感じでしょう。
    今までよりは,かなり,楽になっています。

    [追記: よく読むと,ADO.NET以外の方法はないのか?という質問なんですね
    確認したところ,Expressのみ状況でも90\Tools\binnにbcp.exeがありました]

    2006年4月9日 14:30
  • Access や Excel のデータを CSV などで保存し、BCP コマンドで一気に取り込む方法になります。
    詳しくは http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/coprompt/cp_bcp_61et.asp あたりを参照されたし。
    ちなみに Access の Upsizing Wizard は互換性の問題がありそうなので避けたほうが無難でしょう。
    2006年4月10日 0:08
  • 坪井さん、おがわみつぎさん、どうもありがとうございます。

    他の皆さんと違って、レスポンスが遅くて申し訳ありません。

    間違いなく、ためになると確信して、現在勉強中です。

    2006年4月13日 13:20
  • cs さん、

     

    こんにちは!

    フォーラム オペレーターの服部 清次です。

    cs さんがこちらの質問を投稿されてからしばらく時間が経ちましたが、その後の状況はいかがでしょうか?

    疑問は解決しましたでしょうか?

     

    cs さんの現在の状況が気になるところなのですが、今回、おがわみつぎ さんと 稍丼 さんの回答が参考になったのではないかと思いましたので、こちらの情報を他の方々に活用していただくいためにも、私の方で回答チェックを付けさせていただきました。

    もし cs さんの問題がまだ解決していない場合は、遠慮なく回答チェックを外して返信してください。

    その際には、その後の状況も合わせて教えていただければ嬉しいです。

     

    これからも TechNet Forum をよろしくお願いします。

    それでは、また!

     

    _____________________________________________

    マイクロソフト株式会社 フォーラム オペレータ 服部 清次

    2008年10月29日 0:59