• ベストアンサー

ストアドプロシージャよりファイルを消したい

ストアドプロシージャの中でSQLの結果よりあるファイル(テーブルでなく txtやdocなどのファイルです)を削除したいのですが、どのようにすれば 実現できるのでしょうか。 環境はSQL SERVERです。 初心者の質問で申し訳ないです。

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

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

システムストアドプロシージャの xp_cmdshell を使えばできそうな気がしますが...。BooksOnlineを参照してみて下さい。使用例もいくつか載っています。と思います。

nature-boy
質問者

お礼

ありがとうございました exec master..xp_cmdshell でいけるようです

関連するQ&A

  • ストアドプロシージャについて

    Access2003とSQL Server2005Expressです。 初歩的な質問で恐縮です。 以下のストアドプロシージャのデータ取得先を、テーブルではなく 別のストアドプロシージャにしたいのですが、 その方法がわかりません。 CREATE PROCEDURE テスト AS SELECT コード, 社名, 住所, 電話 FROM 名簿     ↑     これをテーブルではなく、別のストアドプロシージャを     指定したのですが・・・。     ここをストアドプロシージャ名にするとエラーになります。     どうすればよろしいでしょうか?

  • ストアドプロシージャで別DBに接続

    Oracleのマテリアライズドビューのデータを SQL Server 2008のDBに毎晩取り込む処理を作る必要があり、方法を検討中です。 SQL Serverが稼働しているWindows Server 2003のマシンから、 毎晩タスクで起動させて実行することを考えています。 SQL Serverのストアドプロシージャで実現できないかと考えているのですが、 ストアドプロシージャだけで実現可能でしょうか? Oracleに接続してビューのデータを取得し、それに基づいて、 SQL ServerのDB内のテーブルのデータ追加、更新、削除等を行います。 単純なコピーではなく、データ加工や変換等の処理も行います。 経験がないので、実現可能かというところから教えて下さい。 実現不可能なら、他にどのような選択肢があるか教えていただけると助かります。 よろしくお願いします。

  • ストアドプロシージャで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 が有効になるように設定もしました。 残念ながら検討すらつかない状態です。ぜひご教授お願いします。

  • PostgreSQLでストアドプロシージャについて

    皆さんのお陰でストアドファンクションを作成する事ができました。 ここで1つ、疑問が・・・ ネットでPostgreSQLの「CREATE PROCEDURE」を検索しても私が望んでいる情報を得る事ができませんでした。 申し訳ありませんがここで質問があります。 PostgreSQLで「CREATE PROCEDURE」はないんでしょうか。 PostgreSQLではストアドプロシージャとストアドファンクションは一緒なのでしょうか。 MySQLやSQL Serverではストアドプロシージャとストアドファンクションは別だった気がしますが・・・ ※違っていたらすみません。 どなたか私の疑問を解決していただけませんでしょうか。 宜しくお願いします。

  • ASPからSQL Server2000のストアドプロシージャーを利用したいのですが。。

    ASPからSQL Server2000のストアドプロシージャーを 利用したいのですが、記述の方法どのようにすれば いいのでしょうか? ストアドプロシージャーの結果をレコードセットと して、ASPの中で使用したいのですが。。。

  • ストアドプロシージャのファイルサイズの調べ方

    お世話になります。 オラクルに登録したストアドプロシージャのファイルサイズを調べる手段についてお聞きしたいと思います。 クライアントでテキストファイルに落すこと無く、サーバーで登録してあるプロシージャのファイルサイズを一覧で取得するようなバッチ処理を考えています。 プロシージャのファイルサイズを取得できるのか、よく分からないのですが、ご存知の方、お知らせください。 サーバー環境 windowsNT oracle8

  • Oracleストアドプロシージャについて

    現在、夜間バッチで海外FTPサーバーからCSVファイルをDWHサーバーに格納後、 同DWHサーバー内のOracleテーブルにInsertするという処理の開発をしているのですが、 CSVの取得はDOSバッチとTeratermのマクロで取得しようと思っています。 しかし、CSVファイルのInsert処理はPL/SQLで開発を行おうと考えています。 それは、Insert後にそのテーブルと別サーバーのOracleテーブルを使用してデータの加工を行い、 その結果をDWHテーブルにロードしなければいけないからです。 ちなみに、今まではVBしか触ったことしかなくPL/SQLやバッチの作成はは初めてです。 そこで質問なのですが、PL/SQLで他のサーバーのテーブルとリレーションは出来るのでしょうか? (VBAでは1つのサーバーにしか同時接続できなかったため) またその場合のフローチャートのイメージが出来ないのですが、箇条書き程度で結構ですので教えていただけないでしょうか?(どこでストアドプロシージャに処理が移行するのかなど....) 長い文章でわかりにくいと思いますが、識者の方がいれば教えていただければ幸いです。

  • ストアドプロシージャ

    ストアド初心者ですが Oracle 9iのストアドプロシージャを作成したいのですが 全くわからず困っています。 とりあえず、以下のテーブルが既に存在し 受注番号がわかっていて、商品名、数量、単価の変更を ストアドプロシージャでおこなうにはどのようにすればよいでしょうか? ご教授お願い致します。 ********************************************** テーブル名:TEST 項目1:受注番号 項目2:商品名 項目3:数量 項目4:単価 項目5:受注日 PS. ストアドのわかりやすい解説書やホームページ お知りの方いらっしゃいましたら、ご教授お願い致します。

  • ストアドプロシージャで外部プログラムを起動するには?

    こんにちは。 SQL Serverから外部プログラムを呼び出すストアドプロシージャを作りたいと思っていますがなかなか上手くいきません。 データベースの内容が変わったときに(INSERT,DELETE等で)特定の外部プログラムを実行するストアドプロシージャを作りたいと思っています。 (SQL Serverに関してまったくの素人なので言葉に誤りがあるかもしれません) 外部プログラムを呼び出す機能として、拡張ストアドプロシージャでxp_cmdshellというものがあるらしいのですが、sysadminユーザしか使うことが出来ず、セキュリティ上にも問題があるとのことなので、xp_cmdshellを使わずに外部プログラムを呼び出す方法を探しています。 具体的な方法、ソース等ありましたら、教えてもらえないでしょうか? また、そんなこと出来ないと言ったことでも教えてもらえると助かります。 現在の環境 Windows XP Professional SQL Server 2005 Developer Edition 宜しくお願いいたします。

  • SQLServer・ストアドプロシージャでファイル出力したい

    こんにちは、いつもお世話になります。 今回はじめてストアドプロシージャというものをプログラムしているのですが、デバッグの方法がよくわかりません。 したい処理は練習として「あるテーブルのデータを検索し、その結果をCSVに出力する」という簡単なものなのですが、クエリアナライザで実行すると「コマンドは正常に終了しました。」というメッセージが出ているにもかかわらず出力されるべきテキストファイルはまったく存在しません。 そこでクエリアナライザのオブジェクトブラウザから該当ストアドプロシージャを選択し、右クリックのメニューで出てくる「デバッグ」という機能を試してみたのですが、そうすると以下のエラーメッセージが出てきました。 ODBC: メッセージ 0、レベル 16、状態 1 [Microsoft][ODBC SQL Server Driver][SQL Server]DLL mssdi98.dll がロードできないか、参照している DLL の 1 つがロードできません。理由 : 126(指定されたモジュールが見つかりません。)。 ・・・意味が良くわからない上に、何行目でエラーになっているのかもわかりません。ためしにある変数に値をセットする一行目以外すべてコメントにして実行してみたのですが、同じメッセージが表示されます。 ・・・おそらく、ストアドプロシージャを実行する前から何らかの理由でエラーになっていると思うのですがこの現象についておわかりの方いませんでしょうか?

専門家に質問してみよう