お風呂の温度、何℃にしてますか?

今VB6SP5を用いてRAS接続で
サーバーへファイルをコピーするプログラムを
作っています
ファイルのコピー方法はFilecopyステートメントを使用
この時ファイルコピーでエラーになる事があるのですが
原因は何が考えられますか
サーバはWindows 2000 SP4
クライアントも同様 Windows2000 SP4

以上です

A 回答 (5件)

>偶数回目は成功するのでファイル共有なのではと思っています


たしかに偶数回目で成功するのであれば、そうかもしれないと思ったのですが、、、
以下の実験をしたところ、不安はまだ消えず。。。


FileCopyの仕様
FileCopy source, destination

sourceに存在しないファイルを指定したとき
エラー番号:53/ファイルが見つかりません。

sourceに排他されているファイルを指定したとき
エラー番号:70/書き込みできません。

destinationが存在しない(参照できない)フォルダを指定したとき
(フォルダ(共有フォルダ)を参照できないとき:これはセッション問題も含みます。)
エラー番号:52/ファイル名または番号が不正です。

という結果を得ました・・・・

イメージ的にはsourceが不正なときに、53のエラーが出てほしかったんだけどなぁ・・・


そこでさらに実験願います。
・圧縮ファイルを作成したあと、、、
※その圧縮ファイルではなく、既存の別のファイルをネットワーク上のサーバにコピーできますか?
※その圧縮ファイルを、ローカルのマシンのどこかのフォルダにコピーできますか?
この2点で、source側かdestination側のどちらに問題があるかがわかると思います。
    • good
    • 0
この回答へのお礼

回答ありがとうございます

1.別のファイルをネットワーク上にコピー
  出来ました

2.ローカルマシンからローカルマシンへのコピー
  出来ました。

以上が 実験結果です
うーん何が違うのかわからなくなってきました

お礼日時:2004/06/28 15:12

>10セッションまで・・・10人まで接続可能と考えてもいいのでしょうか



いいえ違います。
台数ではなくセッション数です。

サーバ側で
コントロールパネル→管理ツール→コンピュータの管理→共有フォルダ→セッション
ここに出ているリストの数がセッションの数です。
だから一人で5セッションを張ることも可能です。


セッションであれば上記の通りですが、偶数・奇数回の実行で成功に差がでるのであれば、確かにファイル占有の関係かも知れませんね。



そちらのプログラムがどうなっているかがわかりませんが、推測で。。。

dim strFileLZH  as string

strFileLZH = "C:\Test.lzh"

If Not Func圧縮ファイル作成(strFileLZH) Then
  MSGBOX "失敗"
  '不正終了処理
End If

If Not Funcファイルコピー(strFileLZH) Then
  MSGBOX "失敗"
  '不正終了処理
End If

っていう感じだと思いますが。。。


これらの二つの処理の間に、、、

http://oshiete1.goo.ne.jp/kotaeru.php3?q=611232
の#2のIsNoOpen関数を入れた場合の戻り値

※debug.print dir(strFileLZH)
とした場合の戻り値


が知りたいです。


ってか、それ以上に「エラー番号」「エラーメッセージ内容」が知りたいです。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます
偶数回目は成功するのでファイル共有なのではと思っています

IsNoOpen入れてみます

エラー番号とメッセージは次の通りです

エラー番号 52
メッセージ ファイル名またはファイル番号が無効です
というメッセージです

以上です

お礼日時:2004/06/28 13:29

もうひとつ思ったのが、


>サーバはWindows 2000 SP4
って「Windows 2000Server?」それとも「Windows 2000Pro?」

Proなら10セッション以上の要求は受け付けません。

http://oshiete1.goo.ne.jp/kotaeru.php3?q=577185
の#8の回答
    • good
    • 0
この回答へのお礼

すいません、ProかServerか書いてありませんでした
Windows 2000Proです

10セッションまでということは、どういうことでしょうか10人まで接続可能と考えてもいいのでしょうか
それならば、今は1対1でデバッグしてますので
問題ないと思います

お礼日時:2004/06/28 11:03

ファイルコピーの前で


DoEvents

でもだめ?
    • good
    • 0
この回答へのお礼

回答ありがとうございます

Doeventsをやってもだめです

お礼日時:2004/06/28 11:00

こんにちは



>エラーになる事があるのですが
うまくいく事もあるんですよね。

原因はわかりませんが、似たような現象を経験しました。
環境は違いますが、128kの専用線で結ばれた拠点のサーバへのfilecopyが不安定だった事があります。

この時は、サーバの共有フォルダをクライアント側にネットワークドライブとして割り当て、そこにコピーするようにしたら安定するようになりました。

filecopy ファイル \\サーバー名\共有フォルダ名

(例えばxドライブに共有フォルダを割り当てた後で)
filecopy ファイル x:\


どうしてもダメならFTPですかね、、、
    • good
    • 0
この回答へのお礼

こんにちは

回答ありがとうございます
ネットワークドライブをプログラムで設定してみましたが
だめでした
同じエラーがでてしまいます。

コピーしようとしているファイルは
.lzhの圧縮ファイルで、
1.圧縮はUnlha32.DLLを使ってVBより圧縮
2.その後ファイルコピーと言う手順です
それで奇数回目はエラー、偶数貝目は正常にコピーできる
と言うことから、DLLがLZHふぁいるをClose出来ていないのではないかという観点からも今考えています

お礼日時:2004/06/26 11:09

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


おすすめ情報