SQLite3のDBをODBCドライバ経由で使いたかったが、レコード挿入時にエラーが出て使えなかった。
成果物
前提
手順
1. Baseでデータソースを作成する(DB・テーブル)
以下手順に従ってJapaneseNames.db
を作成する。
Calcを起動する
- メニュー→
挿入
→フォームコントロール
→テーブル・コントロール
- UIの表示領域をドラッグ&ドロップで指定する
テーブル構成要素ウィザード
が表示される
2. Calcでテーブルコントロールを作成する
LibreOffice Calc
を起動する- メニュー→
挿入
→フォームコントロール
→テーブル・コントロール
- UIの表示領域をドラッグ&ドロップで指定する
テーブル構成要素ウィザード
が表示されるデータソース
からMyDb
を選ぶテーブル/クエリー
からMyTable
を選ぶ次へ
ボタンをクリックする=>>
ボタンをクリックする完了
ボタンをクリックする
3. Calcのテーブルコントロールでレコードを挿入してみる
フォームコントロール
ツールバーのデザインモード
をクリックしてOFFにする列名
や既存レコードが表示される- 最終行をクリックする
- 適当に1レコード分のデータを入力する
- エラー。レコード挿入に失敗する
SQL ステータス: HY000 エラーコード: 1 [SQLite]no such table: /tmp/work/JapaneseNames.db.LastNames (1)
所感
つまり以下でやったBaseの固有形式HSQLDB
でしかテーブル・コントロールを使ってレコード編集できないというクソ仕様ってこと? 使えねー。元々あったSQLite3のDBが使いたかったのに……。
対象環境
- Raspbierry pi 4 Model B
- Raspberry Pi OS buster 10.0 2020-08-20 ※
- bash 5.0.3(1)-release
- LibreOffice 6.1.5.2 ※ ※ Help
$ uname -a Linux raspberrypi 5.4.51-v7l+ #1333 SMP Mon Aug 10 16:51:40 BST 2020 armv7l GNU/Linux