Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

LibreOffice Base をSQLite のフロントエンドにしてみよう

9,677 views

Published on

Let LibreOffice Base be a SQLite frontend.

Published in: Internet
  • Be the first to comment

LibreOffice Base をSQLite のフロントエンドにしてみよう

  1. 1. Base をSQLite の フロントエンドにしてみよう 発表者 那谷 進(@78tch)
  2. 2. 今日のお題 Base って、MySQLとかPostgreSQLとか、ほかのRDBMSにも接 続できるらしいけど・・・ いまひとつやり方がよくわからない。 試行錯誤して、なんとなくやり方がわかったので、発表します。 今回はSQLiteを取り上げますが、他のRDBMSでも応用がきくと思 われます。
  3. 3. BaseでSQLiteってなにがうれしいの? GUIでSQLiteのデータが操作できる。 えーっと・・・。
  4. 4. 全体像 Windows 「Base」=「ODBC(ドライバマネージャ)」=「SQLite の ODBC ドライバ」=「SQLite のデータソース」 UNIX系 「Base」=「unixODBC(ドライバマネージャ)」=「SQLite の ODBC ドライバ」=「SQLite のデータソース」    「アプリ」 「ODBC」  「ODBCドライバ」 「データソース」
  5. 5. ODBCって何? Open DataBase Connectivity Windowsで、Access や Visual Basic などのアプリケーションか ら、SQL Server やOracle などの RDBMS に接続するときの、抽 象化中間層。 ODBC アーキテクチャでは、 Access などのアプリケーションは、 ODBC(ドライバマネージャ)に接続します。そして、 ODBC は、 「SQLite ODBC ドライバ」など各RDBMSごとに特有の ODBC ド ライバを使用して、データソースに接続します。 同様のものに、「JDBC」があります。
  6. 6. unixODBC って何? UNIXなどで、「Windows における ODBC」と同じ役割をするもの。
  7. 7. ODBC ドライバって何? 各RDBMSごとに提供される、ODBCに対応するための機能拡張 です。 次のようなものがあります。 libmyodbc (MySQL odbc-postgresql (PostgreSQL libsqliteodbc (SQLite tdsodbc (MS SQL / Sybase SQL mdbtools (*.mdb (JET / MS Access)
  8. 8. ODBC接続の設定 いわゆる「接続文字列」のはたらき ODBCドライバやデータファイルの場所やオプションなどを指定し て、これに名前をつける。(DSN:Data Source Name) ユーザー DSN: 現在ログオンしているユーザーだけに定義され る DSN。レジストリ サブキーとして保存される。 システム DSN: すべてのユーザーおよびサービスで共有される DSN 。レジストリ サブキーとして保存される。 ファイル DSN: ファイルに保存される DSN。ネットワークで共有し たり、配布したりするためのもの。
  9. 9. 実際にやってみましょう! でもその前に... OSは何? 32bit版? 64bit版? SQLiteは Ver.2 ? Ver.3 ? それぞれで、ODBCも、ODBCドライバも違うので、要注意!!
  10. 10. Windows7(32bit) & SQLite Ver.3 編 公式サイトから「sqliteodbc.exe 」をDLしてインストール。 http://www.ch-werner.de/sqliteodbc/ 「コントロールパネル」→「システムとセキュリティ」→「管理ツー ル」→「データソース(ODBC)」→「ODBCデータソースアドミニス トレーター」の「ドライバ」タブで、「SQLite3 ODBC Driver」が追加 されていることを確認。
  11. 11. Windows 設定ファイル DSN ユーザー DSN: HKEY_CURRENT_USERSoftwareODBCODBC.INI システム DSN: HKEY_LOCAL_MACHINESoftwareODBCODBC.INI ファイル DSN:/etc/ODBCDataSources/FileDSNhogehoge.dsn
  12. 12. いよいよBaseから接続1of4 Base でデータベースを新規作成し、「既存のデータベースに接 続」で「ODBC」を選択します。
  13. 13. いよいよBaseから接続2of4 ユーザーDSNで名づけたデータソース名が選択できます。
  14. 14. いよいよBaseから接続3of4 SQLite にはユーザーがないので、空白のままテスト接続します。
  15. 15. いよいよBaseから接続4of4 「sample.db」の内容をBase で見ることができています。
  16. 16. 情報源 「view README」に説明あり 各設定項目の詳細は、今回は 調べきれませんでしたorz...
  17. 17. Ubuntu(64bit) & SQLite Ver.3 編 Ubuntu ソフトウェアセンターで「unixodbc」(すべて小文字)を検 索し、「詳細」の「追加のアドオン」のなかから「ODBC Driver for SQLite」もインストール。
  18. 18. ODBCManageDataSourcesQ4で設定1of3 端末からODBCManageDataSourcesQ4を起動 ユーザーDSNの場合はそのまま、システムDSNの場合はsudo で起動します。
  19. 19. ODBCManageDataSourcesQ4で設定2of3 まず「Advanced」で「ODBC Driver for SQLite」を設定します。 「Driver」と 「Setup」が libsqlite3odbc.so になっていること を確認します。 設定変更する場合、 sudo で起動する 必要があります。
  20. 20. ODBCManageDataSourcesQ4で設定3of3 Data Source Name の「User」に設定をAdd します。 「Database」に、 SQLite3 データ ファイルの場所を 指定します。 保存できているか 確認します。 他の指定項目の 詳細は今回調b(ry
  21. 21. Ubuntu 設定ファイル ドライバ設定ファイル /etc/odbcinst.ini DSN ユーザー DSN:~/.odbc.ini システム DSN:/root/.odbc.ini ファイル DSN:/etc/ODBCDataSources/FileDSNhogehoge.dsn
  22. 22. いよいよBaseから接続 Windows の場合とまったく同じ手順です。
  23. 23. その他のGUI ツール SQLite Manager SQLite Database Browser SQLiteman PupSQLite TkSQLite
  24. 24. 参考文献など 書籍 「SQLite入門第2版」西沢直木[著] 「SQLiteポケットリファレンス」五十嵐貴之[著」 SQLite 公式 https://sqlite.org/ unixODBC 公式 ※特に、「Manuals」⇒「User Manual」 http://www.unixodbc.org/ SQLite ODBC Driver 公式 http://www.ch-werner.de/sqliteodbc/ ブログ http://aastate.web.fc2.com/other-software/libreoffice-tips/index.html http://www.crystal-creation.com/software/tool/office/access/external /sqlite.htm OpenOffice.org のドキュメント https://wiki.openoffice.org/wiki/Documentation/How_Tos/Using_SQ Lite_With_OpenOffice.org

×