BaseでDBが作れない

LibreOfficeをインストールしてBaseでDBを作ろうとしたのですが、最初のファイル作成時にcreate_dbが失敗し、DBが作ることができません。以下の様なエラーメッセージの原因はなんでしょうか。

  • OS Windows10
  • JRE (ビルド1.8.0_201-b09)
  • LibreOffice バージョン: 6.2.1.2 (x64)

エラーコード: 1

firebird_sdbc error:
*I/O error during "CreateFile (create)" operation for file "C:\USERS\正典\APPDATA\LOCAL\TEMP\LU83485DUB8.TMP\LU83485DUBB.TMP\FIREBIRD"
*Error while trying to create file
*�w�肳�ꂽ�p�X�����‚���܂���B 
caused by
'isc_create_database'

Windowsのユーザー名で漢字が使われている人って他に居たかな、というのがちょいと気になるか。(自信なし。言ってみただけ)

ユーザーフォルダが「漢字」というの、正解でした。
DBが作れるPCに漢字のユーザを追加し、漢字のユーザーフォルダを作成した後、そのユーザでDBを作るとエラーになりました。
Firebird(埋め込み)は日本語(マルチバイト文字)ユーザフォルダで使用できないということのようです。
もうそういうことはないと思っていたのですが、マルチバイトは未対応だったのですね。

https://opengrok.libreoffice.org/xref/core/connectivity/source/drivers/firebird/Connection.cxx?r=a2e3705d#266

自分としては、第3引数がUTF-8であるべきか、を疑ってます。Linuxとかだとどうかは知らないけど、Windowsってしばしばファイル名をデフォルトエンコーディング(Shift_JISとか)で比較しているフシがあるなあと感じることがあるので。単なる推測の域を出ませんが。

Windows10のUTF-8にたいする対応が気になってネットを調べました。
Windows10の地域設定で、UTF-8の対応をよくするオプションがあり、それを有効にしたらDBを作成することができるようになりました。

ありがとうございました。
HSQLDB(埋め込み)だと作ることができました。
自分のノートパソコン以外では、Firebird(埋め込み)でも問題なく作れるので、
このノートパソコンの環境の問題だと思っています。
エラーコードの原因がわかれば、対処できるかなと思うのですが、
エラーコードがわかる資料など何処かにありませんかね。


Windos10の地域設定⇒管理⇒システムローケルの変更⇒ベータ:ワールドワイド言語サポートのチェックを入れることによって問題なく作成することができるようになりました。

類例:

US-ASCII外のフォルダ名があるとGPG絡みでエラーが出る(バグレポは英語で書かれている)

https://bugs.documentfoundation.org/show_bug.cgi?id=124609

多言語環境(日中英)でも「ベータ:ワールドワイド言語サポートのチェックを入れる」をすればFIREBRDは使用できますか?

おそらくできる。

ただし、この機能は、LibreOffice以外にも色々な所に副作用を及ぼすので注意。

例として

  • 少なくとも統合アーカイバプロジェクトのDLLはzipファイルを作るに当たり、そのzipファイルに含まれるファイル名をデフォルトエンコーディングでエンコードしてデータに含めようとするようだし、解凍するときはこのデフォルトエンコーディングでデコードしてファイル名を得ようとする。(zipファイル自体に使用されたエンコーディングを格納できるかは不明)だから、この機能が使われていない環境上で、例えば日本語がファイル名に含まれるようなファイルを圧縮し、機能が使われている環境上で解凍しようとするとエラーが出る。

  • ソフトウェアによってはその中で使われる文字列をデフォルトエンコーディングでリソースとして含めていることがあるため、同様の理由でソフトが文字化けすることがある。

個人的には環境変数等の変更で対処できないか試したい(面倒臭がっていて試してない)

tdf#125286に追記。

  • OS LinuxMint19 cinnamon 64bit
  • LibreOffice6.2.0.3

エラーの原因は分かりませんが、データーベースを作るだけなら、データーベースウィザードでFirebird(埋め込み)ではなくHSQLDB(埋め込み)を選択すれば作成できます。

画像の説明

下図の画面が出たらLaterをおせばOKです。

画像の説明

以上は動作環境で変わるかも知れません?

ありがとうございました。
HSQLDB(埋め込み)だと作ることができました。
自分のノートパソコン以外では、Firebird(埋め込み)でも問題なく作れるので、
このノートパソコンの環境の問題だと思っています。
エラーコードの原因がわかれば、対処できるかなと思うのですが、
エラーコードがわかる資料など何処かにありませんかね。