鎌滝です。 Toraさん、コメントありがとうございます。
At Tue, 13 Sep 2005 13:58:17 +0900, Takamichi Akiyama wrote: > この不具合って、現状、開発側へ伝わっていましたっけ。 いえ、まだこの問題を、「仕様」なのか「不具合」なのか見極めたいと思って いるところです。不具合なら、Issue登録したいと思ってます。 > ところで、「コピー」するとは、どのような手順でしたっけ。 前のコメントわかりにくかったですね。自分なりにまとめてみました。 o 現在の仕様 C:\データベースなど、2バイト文字のあるディレクトリにHSQLDB形式のBaseファ イルを作成します。仮にファイル名をhsql.odbとすると、テーブルを作成する と、内部ファイルには次のようにテーブル関係のファイルが作成されます。 database/データベース/+hsql.properties database/データベース/+hsql.script なお、「データベース」部分はZIPアーカイブソフトでは文字化けして読めま せん(UTF対応のターミナルでunzipコマンドで表示してみましたがやはり文字 化けしています。ただ、これはフォントのせいかも)。 この状態なら、問題なくテーブルを表示可能です。 なお、2バイト文字を含まないディレクトリに置いたBaseファイルでテーブル を作成した時の内部ファイルは、次のようになります。 database/+properties database/+script o 文字化けするケース 2バイト文字を含まないディレクトリに置いたあったBaseファイルを上記のC:\ データベース ディレクトリにコピーした後、テーブルを表示しようとすると、 内部ファイルが次のように書き変わります。 database/+properties database/+script database/データベース/+hsql.properties database/データベース/+hsql.script そして、テーブルが作成されていない +hsql.script のほうを読もうとするの で、テーブルペインにはテーブルが表示されないというわけです。 これは、調べてみると逆のケース、C:\データベースから別の2バイト文字を含 まないディレクトリにコピーしたケースでも、表示できなくなります。今度は、 +script を読もうとするからだと想像しています。 つまり、現在の仕様では、2バイト文字のディレクトリ名をパスに含む場合、 Baseは必ず、内部ファイルのdatabaseディレクトリ以下に2バイト文字らしい ディレクトリを作り、その下にテーブル定義などのファイルを置くのです。 この仕様を改善しない限り、HSQLDB形式のodbファイルを2バイト文字のディレ クトリ名をパスに含む場合は、そこから他のディレクトリにコピーしてはいけ ませんし、他のディレクトリからコピーしてはいけないことになります。 なお、この現象はLinuxでも同じです。どうぞ、よろしくお願いします。 p.s.追試すると、C:\データベースから違う2バイト文字のディレクトリにコピー してみたら、そちらでも表示されなくなりました。今度は、 database/+hsql.properties database/+hsql.script という新しいファイルを作られました。上記の「Baseは必ず、内部ファイルの databaseディレクトリ以下に」うんぬんは必ずしも当てはまらないですね。う〜 む。 --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]