質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

Q&A

2回答

1796閲覧

ファイル取得成功・失敗の原因の切り分け

peperon0809

総合スコア6

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

0グッド

0クリップ

投稿2017/08/09 12:11

あるWindowsサーバからNAS上にあるファイルを取得する処理があるのですが、
その処理が正常に行なわれるときと行われない時があり、原因の切り分けに困っています。
正常に行われない時は、Windowsサーバに取得したファイル名は正しいのですが、サイズが0Byteと空ファイルになります。

現状では、以下のように考えています。
・サーバやNASの権限は変えていないため、権限が原因ではないと思われる。
・他の通信に異常は見られないため、LAN・スイッチなどのネットワーク系が原因ではないと思われる。
(上記の2点は、あくまでも現時点での推測です)

常に正常にファイル取得できるようにしたいのですが、
原因をどうやって切り分ければいいか、分かりません。

良い考えをお持ちの方がいたら、ぜひご教示ください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hotta

2017/08/09 22:23

『取得する処理』がプログラムであれば、その部分も提示したほうがよいかもしれません。
peperon0809

2017/08/10 00:08

Javaの FTPClient.retrieveFile です。
coco_bauer

2017/08/10 01:12

ネットワークの通信ログは確認されましたか?ログに記録されたエラーの中に、ファイル取得に失敗した日時に近いものが見つかりませんか?
peperon0809

2017/08/10 08:42

サーバもNASもWindowsのためイベントビューアは確認しましたが、何も出力されていませんでした。
peperon0809

2017/08/10 08:43

サーバとNASは異なるセグメント(といっても隣ですが)のためL3SWを経由しますが、L3SWではログは取得していないです。
hotta

2017/08/10 12:09

詳細はもう忘れましたが、むかし Samba と Mac OS X の間で似たような障害があって、結局はパケットを拾う羽目になりました。
peperon0809

2017/08/22 01:45

返信が大変に遅くなり、失礼しました。パケットを拾われたのですね。コメントありがとうございました。
guest

回答2

0

問題を切り分ける時にまずやるべきことは、問題がある部分の絞り込みです。

元のソースから、関係なさそうな部分をひとつひとつそぎ落としていき、
問題を再現できて、できれば公開できる形の最小限のコードを作るのが、
トラブル解決のための第一歩です。
※エラー検出のための部分は関係あるので消さないように。

もちろん、わからない人が絞り込むのですから、無駄なコードが残ります。
しかし、そういったソースコードがないと、あなたが何をわかっていて
何をわかっていないのかが誰にも伝わらないので回答のしようもありません。

あなたはまず、問題を再現できる最小限のコードを作って提示することから
始めるべきです。現状ではあなたは他人に自分の仕事を丸投げしているだけです。

ログにしても、IISにしろ何にせよftpサーバのログはイベントログとは別に
あるはずですし、FTPClient.retrieveFileだとコマンド実行後に
.getReplyString()だったかを発行すれば実行結果を取得出来たような覚えが
ありますが、そちらはどうでしょう。なんとなく.getReply()で実行終了を
確認していないとかいう話のような気がします。

投稿2017/08/13 02:57

himazin.blm

総合スコア581

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

peperon0809

2017/08/22 02:41

返信が大変に遅くなり、失礼しました。 アドバイスいただき、どうもありがとうございます。 また私の質問の仕方が良くなかった部分があったようで、すみませんでした。 NAS(IIS)のログが出力されていることが分かり、 そのログに権限が原因と思われるエラーコードが出力されていたので、 その観点から設定を見直してみます。 重ねてありがとうございました。
guest

0

ネットワーク越しの不可解な現象は、
「SNPの無効化 」
「ECN機能の無効化」
で収まることが多いです。
検索するとクライアントOSが多くヒットしますが、サーバOSも同様です。

投稿2017/08/10 15:59

hihijiji

総合スコア4150

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

peperon0809

2017/08/22 02:32

返信が大変に遅くなり、失礼しました。 ご教示いただき、ありがとうございます。 サーバとNASの設定を変更するには現実的に難しいため、 別の方法を考えてみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問