VB5.0でFTP転送するには?

解決


オーじろう  2005-01-13 19:49:53  No: 118848

[開発環境]Windows2000 + VB5.0
[クライアント]Windows2000、WindowsXP Pro
[サーバ]富士通オフコン

FTPにてサーバからCSVファイルのダウンロード機能を作成しています。
shell関数を使い、バッチ処理を実行させてみたものの、エラーの
判定がうまくできず、別の方法を検討しています。

[検討中の方法]
1:wininet
2:BASP21

いろいろ調べていますが、どちらがよい(簡単&わかりやすい)かが
わかりません。できればサンプル等がみたいのですが、検索しても
うまくHITしてくれません。
よろしくお願いします。


ねろ  2005-01-13 20:10:57  No: 118849

これとか
http://support.microsoft.com/default.aspx?scid=kb;ja;175179#kb1


オーじろう  2005-01-13 20:29:02  No: 118850

>ねろ様
早速のご回答ありがとうございます。
しかし、「オーじろう」は頭がよくありません。
日本語しかわかりません。ダウンロードしましたが、英語らしきもの
がズラズラと表示され、にっちもさっちもいきません。(涙)


ねろ  2005-01-13 20:49:43  No: 118851

英語だめですか、コメントだけなんだけど。(^^;
DOSコマンドの実行結果判定のコードを下に書きましたので、
も一度DOSを試されては。
http://madia.world.coocan.jp/cgi-bin/VBBBS/wwwlng.cgi?print+200412/04120036.txt


ひろ  2005-01-13 21:47:48  No: 118852

ftp ということなので、 コマンドの実行は成功しても、ファイルの転送は失敗していることがありますから、結果をファイルに書き出して調べないといけませんね。

ftp -s:スクリプト >結果ファイル

として、結果ファイルを解析するのが良いかと。

ftp は要求に対する応答を3桁の数字+文字列+改行で返すので、
結果ファイルを1行ずつ読み取って解析すればOK。

で、ftp の応答の3桁の数字の仕様は RFC を読んで下さい。
(実際に手でftpコマンドを動かして調べるのが簡単かも)


オーじろう  2005-01-13 22:24:19  No: 118853

>ねろ様、ひろ様
参考になりました。ありがとうございました。

※※※追加質問がございます。よろしくお願いします。※※※

ftpで、サーバに無いデータをgetした時、Win2000では何も変化がなく、
(クライアント側にファイルが作成されない)
WinXPだと0KBの空ファイルが作成されてしまいます。
エラーチェックをしようと、FileLen関数でチェックすると、
0KBのものはちゃんと0で判定されるのですが、
実際にあるデータも0と判定されてしまい、
困っています。
ftpを動かす前にテスト的にFileLen関数で同じファイルをチェックすると、
きちんとしたファイルサイズが戻ってきます。
これはなぜなのでしょうか?また、回避方法はありますか?


オーじろう  2005-01-14 01:54:33  No: 118854

なんとか自力解決しました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加