mysql:7910
From: A.K.I. <A.K.I. <aki@xxxxxxxxxx>>
Date: Tue, 17 Jun 2003 12:35:02 +0900
Subject: [mysql 07910] Re: バッチファイルからの起動
A.K.I.と申します。 単純にVB実行時のカレントディレクトリの問題に見えるんですが・・・ test.phpをフルパスで指定したらどうなりますか? #ここからMySQLとは関係ない話 たぶんperlの起動そのものは成功するので、test.php以外の(存在 しない)ファイル名を指定してもShellの戻り値は0以外が返ってく るんじゃないかと。Shellは非同期で起動だけして後は知らない、 という関数なので、実行されたプログラムが正常終了かエラー終了 かは取れないですしね。 #まともにやるならAPIだけど、そもそもADOあたりでSQL発行した方 が楽な気が。。。 >佐藤と申します。 > >初めての投稿です。 >MYSQLの問題ではないかも知れませんが、御教授頂ければと思い投稿しました。 > >MYSQL実行環境は下記の通りです。 > >クライアント >OS:WIN2000SP2 >ツール:VB6.0SP5 > >サーバー >NT4.0SP6.0 >MYSQL VER4.0.12 > >ここで、PERLのDB更新用ファイル(クライアント側に存在)を、 >クライアントのVBプログラムからSHELL関数を使用して、起動すると >うまくDBの更新ができません。実行前後でDB側は何もかわらず、 >エラーメッセージも表示されません。 > >DOS環境からこのPERLファイルを実行すると当然うまく更新のですが、 >プログラム側からは実行できないのでしょうか? > >-------- PERLファイル TEST.PL >use DBI; > >$db = DBI->connect('DBI:mysql:temp:172.16.86.87','root','12345'); >$sth = $db->prepare("INSERT INTO MOI VALUES ('NULL','2003/05/23','19891','ASI3','RH7- >1472-000000','RH7-1472 12345','2003/03/20','2400','2');"); >$sth->execute; > >$sth = $db->prepare("SELECT * FROM MOI"); >$sth->execute; > >$num_rows = $sth->rows; >print "$num_rows 件見つかりました。\n"; > >$sth->finish; >$db->disconnect; > >--------- VB6.0ファイル > >Private Sub Command1_Click() > Dim I As Integer > > I = Shell("c:\perl\bin\perl test.pl", 3) > MsgBox "実行結果=" & I >End Sub > >※Iはプログラムのタスクコードで、きちんとエラー以外(0以外)の >実行結果が代入されて返ってきます。 > >------------- >Sato Hiroyuki > >
7908 2003-06-17 12:19 [Sato Hiroyuki <sato.] バッチファイルからの起動 7909 2003-06-17 12:25 ┣["TOYOSHIMA,Masayuki"] -> 7910 2003-06-17 12:35 ┗[A.K.I. <aki@xxxxxxxx] 7911 2003-06-17 13:32 ┗[Sato Hiroyuki <sato.]