War-FTPd.exe version: 1, 82, 0, 10を使用して
FTPサーバを立て、DLもできるようですがDL完了と同時に
caught unknown exception. Killing socket.
というエラーとともに回線が切断されてしまいます。
起動時にも何かが足りない下記のようなエラーも吐いています。
[war_error_logger] Exception from line 117 in file "C:\devel\current\war182_stable\jgaadb\src\DbConnection.cpp": Database error in module "DbConnection::Connect()" SQLDriverConnect(SQL_HANDLE_DBC) failed. SQL state = "IM002" Native Error = "0" : "[Microsoft][ODBC Driver Manager] データ ソース名および指定された既定のドライバが見つかりません。"
ちょっとかじった程度の自分では手におえなくなったので
よい知恵が得られればと書き込ませてもらいました。
よろしくお願いします。
> War-FTPd.exe version: 1, 82, 0, 10を使用して
> FTPサーバを立て、DLもできるようですがDL完了と同時に
>
> caught unknown exception. Killing socket.
>
> というエラーとともに回線が切断されてしまいます。
これは、2byte文字を使っていると起きたような気がします。
日本語フォルダやファイル名を使ってませんか?
因みにWarftpdでは2byte文字対応していないので、どうしても日本語を使いたいならFilezillaや日本製のデーモンを使うしかないです。
おやじはトラブルの元なので日本語使用は勧めませんが・・・。
> 起動時にも何かが足りない下記のようなエラーも吐いています。
>
> [war_error_logger] Exception from line 117 in file "C:\devel\current\war182_stable\jgaadb\src\DbConnection.cpp": Database error in module "DbConnection::Connect()" SQLDriverConnect(SQL_HANDLE_DBC) failed. SQL state = "IM002" Native Error = "0" : "[Microsoft][ODBC Driver Manager] データ ソース名および指定された既定のドライバが見つかりません。"
WarFTPDはデータベースにログ(セッションとファイル・イベント)を書くことができるようになっており、データベースが無いのにこれがデフォルトでonになっているので発生するエラーです。
対策方法は2つあり、データベースを使用しないようにする方法(方法1)とデータベースを用意する方法(方法2)です。特段理由がなければ、簡単なので方法1で機能停止すればよいと思います。
[方法1]:データベースを使用しないようにする方法
1. 「サーバ」->「アドバンスサーバプロパティ」を開く。
2. 「odbc_SOURCE」のデフォルトで設定されている値の「<default>」を消してブランクにし、「設定」を押下して反映させる。
3. WarFTPDを再起動させ、エラーが出ないことを確認する。
[方法2]:データベースを用意する方法
1. コンソールパネルから「管理ツール」->「データソース(ODBC)」を開く。
2. 「システムDSN」を選択する。
3. 「追加」でデータソースドライバとして「Microsoft Access driver(*.mdb)」を選択して「完了」を押下する。
4. 「データソース名」に「WARSVR」、説明に「WarFTPD(適当に)」と入力する。続けて、「データベース」で「選択」を押して、WarFTPDのインストールフォルダ内にあるの「warsvr.mdb」を選択して「OK」を押して、セットアップ画面で再度「OK」を押す。
5. アドミニストレータ画面で「OK」を押してデータベースを作成する。
6. 最後に、 WarFTPDを再起動させ、エラーが出ないことを確認する。
7. 以降、「warsvr.mdb」にログが収集される。
> ちょっとかじった程度の自分では手におえなくなったので
> よい知恵が得られればと書き込ませてもらいました。
おやじも4年半前はそのレベルから始まりました。これからもがんばってください。
因みに、エラーメッセージそのものをググルといろいろ見つかります。
また、各デーモンのドキュメントをみることですね。(英語が非常につらいですが・・・)
返信ありがとうございます。
> これは、2byte文字を使っていると起きたような気がします。
> 日本語フォルダやファイル名を使ってませんか?
> 因みにWarftpdでは2byte文字対応していないので、どうしても日本語を使いたいならFilezillaや日本製のデーモンを使うしかないです。
> おやじはトラブルの元なので日本語使用は勧めませんが・・・。
仰るとおり2byte文字使ってました。
海外のソフトではよくあることと知ってはいましたが、うっかり失念してしまってました。
> WarFTPDはデータベースにログ(セッションとファイル・イベント)を書くことができるようになっており、データベースが無いのにこれがデフォルトでonになっているので発生するエラーです。
> 対策方法は2つあり、データベースを使用しないようにする方法(方法1)とデータベースを用意する方法(方法2)です。特段理由がなければ、簡単なので方法1で機能停止すればよいと思います。
>
> [方法1]:データベースを使用しないようにする方法
> 1. 「サーバ」->「アドバンスサーバプロパティ」を開く。
> 2. 「odbc_SOURCE」のデフォルトで設定されている値の「<default>」を消してブランクにし、「設定」を押下して反映させる。
> 3. WarFTPDを再起動させ、エラーが出ないことを確認する。
>
> [方法2]:データベースを用意する方法
> 1. コンソールパネルから「管理ツール」->「データソース(ODBC)」を開く。
> 2. 「システムDSN」を選択する。
> 3. 「追加」でデータソースドライバとして「Microsoft Access driver(*.mdb)」を選択して「完了」を押下する。
> 4. 「データソース名」に「WARSVR」、説明に「WarFTPD(適当に)」と入力する。続けて、「データベース」で「選択」を押して、WarFTPDのインストールフォルダ内にあるの「warsvr.mdb」を選択して「OK」を押して、セットアップ画面で再度「OK」を押す。
> 5. アドミニストレータ画面で「OK」を押してデータベースを作成する。
> 6. 最後に、 WarFTPDを再起動させ、エラーが出ないことを確認する。
> 7. 以降、「warsvr.mdb」にログが収集される。
丁寧にありがとうございます。
無事エラーはでなくなりました。
> おやじも4年半前はそのレベルから始まりました。これからもがんばってください。
> 因みに、エラーメッセージそのものをググルといろいろ見つかります。
> また、各デーモンのドキュメントをみることですね。(英語が非常につらいですが・・・)
非常に参考になります。
まだまだ未熟者ですが、ぼちぼちがんばります。
横からで失礼します。
知人がWin環境でFTPサーバーを運用しており
デーモンにNekosogiFtpdというのを使っております。
自分はクライアントとして知人のサーバーにログインする事もあるのですが
転送速度はかなり(Linux系デーモンと同程度)出ますし、2byteもちゃんと対応しております。
Win環境での使用ならばNekosogiFtpdはどうでしょうか。
公式HPのリンクは参照先に張っておきます。
P.S.おやじ様にもオススメできる物だと思います。ご存知でしたら失礼しました。。
> 知人がWin環境でFTPサーバーを運用しており
> デーモンにNekosogiFtpdというのを使っております。
>
> 自分はクライアントとして知人のサーバーにログインする事もあるのですが
> 転送速度はかなり(Linux系デーモンと同程度)出ますし、2byteもちゃんと対応しております。
> Win環境での使用ならばNekosogiFtpdはどうでしょうか。
> 公式HPのリンクは参照先に張っておきます。
>
> P.S.おやじ様にもオススメできる物だと思います。ご存知でしたら失礼しました。。
情報、捕捉ありがとうございます。
NekosogiFtpdはかなり前から知っていますが、おやじは現用機をLinuxに変更してしまったので使用することはないと思います。
NekosogiFtpdはバージョンも上がって機能的(使ったことがないので、動作についてはわかりませんが・・。)にはかなりいい感じになってきているのではないでしょうか?
ただ、少し気になるのがルータのNAT対応ですかね。ルータのWAN側アドレス取得を作者のサイトアクセスで行ってますが、この方法では作者のサイト側で障害等があると、自鯖とは全く関係ないところの障害で使えなくなるので、できればホスト名指定(DNSを使って検出。DNSや自鯖回線が駄目なら所詮自鯖にアクセスできないので・・。)や固定IP用ならスタティックに書けるようなるといいのではないか思います。