- ベストアンサー
asp.netからbcpコマンドの実行
asp.netからbcpコマンドを実行し、CSVをエクスポートする方法はありますか? bcpは普通は、コマンドプロンプトから実行しますが、「プログラムからボタンをクリックしたらcsvが吐き出される。」というようなことができますでしょうか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
何度もすみません。 コードの最後に以下の一行がないとプロセスが開始されませんでした。。。 ◆C# proc.Start(); ◆VB.NET proc.Start()
その他の回答 (3)
- nn1102
- ベストアンサー率80% (12/15)
こんにちは。 > タスクマネージャーで確認すると一瞬cmd.exeが起動しますが、bcpの実行はできませんでした。 > コマンドプロンプトから直に実行すると正しく動きました。 TCP/IP またはローカル環境で動いて HTTP だと動かないというのは cmd.exe を実行するユーザーのアクセス権の問題だと思われます。 確認されてみてはいかがでしょうか。 権限周りについては、私が最初にこのスレッドに投稿した際に張り付けた URL でも少し言及しています。
お礼
ありがとうございました。
補足
書き込み先の権限がないだけでした。 ありがとうございました。
- nn1102
- ベストアンサー率80% (12/15)
失礼いたしました。.NET だったのですね。 System.Diagnostics.Process を使用すればよいかと思います。 参考 URL に記載されていたコードを貼り付けます。 ◆C# System.Diagnostics.Process proc = new System.Diagnostics.Process(); proc.StartInfo.FileName = "bcp"; proc.StartInfo.Arguments = @"""select * from ims3.dbo.cinfo"" queryout ""C:\filename"" -S server\instance -U sa -P password -N"; ◆VB.NET Dim proc As New System.Diagnostics.Process() proc.StartInfo.FileName = "bcp" proc.StartInfo.Arguments = """select * from ims3.dbo.cinfo"" queryout ""C:\filename"" -S server\instance -U sa -P password -N"
- nn1102
- ベストアンサー率80% (12/15)
こんにちは。 こちらが参考になるかもしれません。 [ASP] : Active Server PagesからSQL ServerのBCPコマンドを使ってデータをインポートしたい http://techbank.jp/Community/blogs/mymio/archive/2008/10/17/2703.aspx
補足
phpのexecのように簡単にできる方法はないのでしょうか?
補足
タスクマネージャーで確認すると一瞬cmd.exeが起動しますが、bcpの実行はできませんでした。 Dim proc As New System.Diagnostics.Process() proc.StartInfo.FileName = "bcp" proc.StartInfo.Arguments = """select * from db名.dbo.テーブル名"" queryout ""C:\test_exp.csv"" -S サーバー名 -U sa -P パスワード -N" 'proc.Start() コマンドプロンプトから直に実行すると正しく動きました。