アプリ版:「スタンプのみでお礼する」機能のリリースについて

MySQL のストアドプロシージャーをつかって バッチ処理を作ろうとしています。
windows のスケジューラーを利用して、ファイルより定期的に処理したいと思っています。
LOAD DATA 文でファイルよりデータを取得し、DBへインサートはできるのですが、ストアドプロシージャーはバッチとして起動させることはできるのかご教授ねがいます。
その他、良い方法があれば、ご教授ねがいます。

環境は  MySQL 5.x
os Windows2003です。

A 回答 (2件)

>ストアドプロシージャーはバッチとして起動させることはできるのか



何をやりたいのか、具体的に説明してください。

MySQLのストアドプロシジャは、標準SQL準拠であり、SQLの「CALL文」で呼び出し実行します。バッチファイル中でMySQLに接続し、CALL文を実行するようにすれば、ストアドプロシジャを呼び出し実行することになります。

この回答への補足

ありがとうございます。
ストアドプロシージャー自体はcronやwindows のスケジューラーでは呼び出せないのですね。。。
やりたいことは、バッチ処理でCSVファイルを取り込み、
MySQLのデータベースに取り込みたいとおもっています。

バッチをなにで記述してよいのか迷うところです。
PHPですとApacheモジュールとなり、タイムアウトを起こしてしまうようですし。一般的に推奨できる言語は何でしょうか。。。

ちなみに環境は
Windows2003
Apache2.x
MySQL5.x
PHP5.x
構成です。

補足日時:2008/11/03 23:22
    • good
    • 0
この回答へのお礼

JavaのバッチをMS-DOSからキックし、ストアドを呼び出すことにしました。 ありがとうございます。

お礼日時:2008/11/24 13:28

方法はいろいろありますが、とりあえず2つ。



1.Windowsのバッチファイル(*.bat)を利用する方法
  ⇒mysqlコマンドを利用する。
  ⇒実際の処理内容はSQLファイルを別に作成する。
  例:mysql.exe -u username -p passwd db_name < sql_file_name
  ⇒Windowsバッチ特有のエラー処理等を習得するのが面倒かも。

2.CLI版のPHPコマンドを利用する方法。
  ⇒「CLI版のPHPコマンド(php.exe)」を利用すれば、
   PHPをバッチのコマンドシェルとすることができます。
 (逆に、ApacheModule版のPHPをバッチ処理に使うのは変)
  ⇒CLI版のPHPコマンドについて:詳細は参考URL。
  ⇒PHPで開発言語の統一が可能です。

参考URL:http://itpro.nikkeibp.co.jp/article/COLUMN/20080 …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す