バッチファイルを使ったテーブルのエクスポート

このQ&Aのポイント
  • WindowsXP(SP2)、SQLServer2000(SP4)で開発中の方へ。コマンドプロンプトでbcpコマンドを使ってテーブルのエクスポートを行いましょう。
  • 具体的なコマンドは「bcp [データベース名].[dbo].[テーブル名] out c: est.txt /c /t , /r /P (パスワード)」です。
  • バッチファイルを使えば手動でコマンドを実行する必要がなくなります。バッチファイルの書き方については参考資料をご確認ください。
回答を見る
  • ベストアンサー

バッチファイルを使ったテーブルのエクスポート

いつもお世話になっております。 現在、WindowsXP(SP2)、SQLServer2000(SP4)で開発をしています。 コマンドプロンプトで下記のコマンドを実行すると、テーブルのエクスポートが正常に行われます。 bcp [データベース名].[dbo].[テーブル名] out c:\test.txt /c /t , /r \n /P (パスワード) このコマンドをバッチファイルに書いて、バッチファイルを実行する事でテーブルのエクスポート処理を行いたいのですが、書き方がわかりません。 御存知の方がいましたら、ヒントや参考にするHP等でも構いませんので、教えてください。 宜しくお願いします。

  • bou7
  • お礼率69% (51/73)

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

バッチファイルの作り方がわからないのでしょうか? とりあえず、テキストファイルを作って その拡張子を.batに変更するだけだと思います。 最初は次の行に"pause"をいれて結果を確認するといいかも。

bou7
質問者

お礼

ありがとうございます。出来ました! バッチファイルの中にどう記述したらいいのか悩んでいたのですが、コマンドプロンプトに記述している内容をそのままbatファイルに記述すれば良かったんですね。 こんな簡単に出来たのかーと、今は感動しています。 (無知なだけですが・・・) 本当にどうもありがとうございました。

その他の回答 (1)

  • Yeti21
  • ベストアンサー率47% (396/830)
回答No.1

バッチファイルでも「bcp.exe」と拡張子をつけてやれば後は同じだと思います。 bcp.exe [データベース名].[dbo].[テーブル名] out c:\test.txt /c /t , /r \n /P (パスワード)

bou7
質問者

お礼

回答、ありがとうございます。 No.2のkhazad-leftyさんの回答を読んで気付いたのですが、私は単純にバッチファイルというものが分かっていませんでした。 今回は、No.2のkhazad-leftyさんの教えて下さったようにして問題を解決しました。 どうもありがとうございました。

関連するQ&A

  • バッチファイル作成

    WindowsにMySQLを入れました。そこに、データベースやテーブルの作成をコマンドプロンプトからではなく、バッチで実行したいのですが、とりあえず、create database。sql と create table のテキストファイルは、作ったものの、どうしたらいいのかわかりません。教えてください。

    • ベストアンサー
    • MySQL
  • バッチファイルで実行できたりできなかったり

    こんにちは。 バッチファイルとコマンドプロンプトについて、少々お伺いしたいことがあります。 まず、コマンドプロンプトで以下のコマンドを打ち込んでみたところ、すべて正常に実行することができました。 ping [example.com] > result.txt tracert [example.com] >> tr_result.txt ipconfig /all > ipc_result.txt 次に、各コマンドをテキストファイルに書き込んで、それぞれ "p_test.bat" # 内容は ping コマンド "tr_test.bat" # 内容は tracert コマンド "ipc_test.bat" # 内容は ipconfig コマンド と命名しデスクトップに配置、ダブルクリックで実行してみました。 すると、このうち正常に実行(結果をテキストファイルに出力)されたのは tr_test.bat のみでした。 ここで質問なのですが、なぜこのような違い(バッチファイルにすると実行できるものとできないものに分かれる)が起こるのでしょうか? バッチファイルの作り方やとコマンドプロンプトについて調べてみましたが、説明を見つけることが出来ませんでした。 この辺の理論について詳しい方がおりましたら、ご教示頂きたく思います。 ちなみに、OS は Windows XP SP2 です。 よろしくお願いいたします。

  • SQLSERVER データインポート

    SQLSERVER2008で別のデータベース1からbcpコマンドでバックアップしたdatファイルがあります。それを別のサーバーのデータベース2に インポートしたいのですが、データベース2もSQLSERVER2008です。 (データベース2にはインポートするテーブルは作成済です。) bcpコマンドでインポートしようとすると、サーバーが見つからないかインスタンスエラーになってしまいできません。 そこでツールでインポートしようとしたのですが、 データソースをテキストでdatファイルのあるパスを指定して やったのですがこれも入りません。 どうすればインポートできますでしょうか? データベース2の方はwindows認証です。コマンドでcdで datファイル(table1.dat)がある階層まで下げてからこう入力しました。複写元 table1.dat→複写先 DB TESTのtable1へ bcp TEST.dbo.table1 in table1.dat -T -C -t bcp,ツールどっちでもいいのでインポートの方法を教えてください。

  • テーブルのエクスポート・インポート

    SQL Server2005 を使用しています。 テーブルのインポート・エクスポートに関して質問があります。 今まで、Oracleを主に使用していて、「EXP」「IMP」コマンドを使用して DMPファイルを介して別PCのデータベース間でテーブルのやり取りをしていました。(DB上のテーブルすべてや特定のテーブルのみなど) 同様のことをSQL Serverで実現したく下記を試したのですが上手くいきません。 1.Management Studio で「タスク」→「データのインポート(エクスポート)」   フラットファイル、Excel、MDBファイルなど試したのですが、   これらの中間ファイルを介した際にデータ型が変わってしまい   元の型のまま戻せない。   Oracleの「DMP」ファイルのようなものには落とせないのでしょうか? 2.「bcp」コマンド   これに関しては、複雑でよくわかりませんでした。   もし、このコマンドで実現可能であれば、やり方を教えて下さると   助かります。 以上、ながなが書きましたが宜しくお願い致します。

  • ストアドプロシージャでcsvファイルへデータにエクスポート

    いつも勉強させていただいています。 ストアドプロシージャの勉強をし始めて間もない素人ですがよろしくお願いします。 SQL-server2005でテーブルをCSVファイルに、ストアドプロシージャを使ってそのままエクスポートする、と言うことをやっています。 以下作成したストアドプロシージャです。 ******************************************* CREATE PROCEDURE [ストプロ名] AS DECLARE @command VARCHAR(200) BEGIN SET @command = ' bcp [データベース名].[スキーマ].[テーブル] out C:\XXXX\aaa.txt -PXXXXXX -UXXXXXX -SXXXXXX' EXECUTE master.dbo.xp_cmdshell @command END **************************************** 解析ボタン、実行ボタンをクリックしてもエラーは出ません。 「ストアドプロシージャの実行」を選択して実行させても、 アラーは表示されず、ファイルも作成されません。 xp_cmdshell が有効になるように設定もしました。 残念ながら検討すらつかない状態です。ぜひご教授お願いします。

  • bcpによる、テーブル→CSVファイル出力について

    bcpによる、テーブル→CSVファイル出力について SQL Server(2003)のクエリアナライザからテーブル->ファイル出力を試みたのですが、うまくいきません。 サーバからの実行ではなく、クライアントのEnterpriseManagerのクエリ実行です。 このエラーは、サーバ接続自体がうまくいってないということでしょうか? exec master.dbo.xp_cmdshell 'bcp xxxxx.dbo.コピー元テーブル名 out C:\AAA.csv -c -S サーバ名 -U 接続ID名 -P 接続パスワード' 実行結果 SQL Status=S1000 ,NativeError=0 Error=[Microsoft][ODBC SQL Server Driver]一括コピーホストのデータファイルが開けません。 csv->テーブルについては、BULK INSERTで問題無く取り込めているので、単純に逆を行いたいだけです。 bcp使わない方法があれば、それでもいいのですが。。。。。

  • バッチファイル

    バッチファイルで @cmd /c start move %1 %2 とすると、実行されたあとに新しいコマンドプロンプトのウィンドが開いてしまいます。新しいウィンドウを開かないようにするか、開いたウィンドウを閉じるにはどうすればいいんでしょうか。

  • BCPコマンドのcmdファイルを複数行う・・・

    お世話になります。 只今、以下の環境でシステム構築を行っています。 OS:Windows2003Server DB:SQLServer2000(SP4) そこでBCPコマンドを使用して複数のテーブルのデータを出力する為にテーブル分のBCPコマンドを記述したcmdファイルを用意して実行してみた所・・・ C:\>bcp * out *.dat -S * -U * -P * -c -t * -r * C:\>bcp * out *.dat -S * -U * -P * -c -t * -r * C:\>bcp * out *.dat -S * -U * -P * -c -t * -r *   ・   ・   ・ ※「*」はテーブル名、サーバー名など ・・・と一行目のコマンドが繰り返し表示され実行されてずに無限に繰り返す状態に陥ってしまいました。 cmdファイルを使用せずに1テーブルのbcpコマンドだけを実行すると正常に終了します。 また1度上記の現象に陥ってしまうと今まで動いていたcmd(複数bcpコマンドが記述)を実行しているのにも関わらず失敗したcmdのbcpコマンドが繰り返し表示される状態になってしまいました。 自PCもDBも再起動しましたが直りませんでした。 原因が不明なので非常に困っています。 なんらかの解決方法や情報を頂ければ幸いです。 よろしくお願い致します。

  • バッチファイルを1個だけしか起動しないようにしたい

    エクスプローラー上から バッチファイル(test.bat)を ダブルクリックしてバッチファイルを実行しています。 通常はコマンドプロンプトが1個だけ表示されて、 バッチファイルが実行して実行が終了すると コマンドプロンプトも閉じられます。 しかし、時々、 コマンドプロンプトが2個表示されることがあります。 つまり、ダブルクリックが、 1回ではなく2回実行されたと誤認識されて、 同じバッチファイル(test.bat)が 2つ起動してしまったと思われます。 当然、その後の処理はおかしくなります。 (バッチファイル(test.bat)の中に 何らかのコードを追加するなどして) 必ず1個だけしか起動しないようにすることは、 できないでしょうか。 (Windows10)

  • バッチファイルについて質問です

    質問お願いします!! たとえばコマンドプロンプトから "1.exe" & "2.exe" を実行すると同時に処理(起動)されるのですが バッチファイルにして実行すると1を閉じててから2が起動する。 という感じになるのですがなぜなのでしょうか? そもそもコマンドプロンプトからの実行と バッチファイルでの実行で違いはあるのでしょうか?? コマンドは全くの初心者なのですが急いでいたので 質問させていただきました。。。 windows vista です。 どなかたどうぞよろしくお願い致します。