24
Base SQLite フロントエンドにしてみよう 発表者 那谷 進(@78tch

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

  • Upload
    78tch

  • View
    3.686

  • Download
    5

Embed Size (px)

DESCRIPTION

Let LibreOffice Base be a SQLite frontend.

Citation preview

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

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

発表者 那谷 進(@78tch)

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

今日のお題

Base って、MySQLとかPostgreSQLとか、ほかのRDBMSにも接続できるらしいけど・・・いまひとつやり方がよくわからない。

試行錯誤して、なんとなくやり方がわかったので、発表します。今回はSQLiteを取り上げますが、他のRDBMSでも応用がきくと思われます。

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

BaseでSQLiteってなにがうれしいの?

GUIでSQLiteのデータが操作できる。えーっと・・・。

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

全体像

Windows「Base」=「ODBC(ドライバマネージャ)」=「SQLite の ODBC ドライバ」=「SQLite のデータソース」

UNIX系

「Base」=「unixODBC(ドライバマネージャ)」=「SQLite の ODBC ドライバ」=「SQLite のデータソース」

   「アプリ」 「ODBC」  「ODBCドライバ」 「データソース」

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

ODBCって何?

Open DataBase ConnectivityWindowsで、Access や Visual Basic などのアプリケーションから、SQL Server やOracle などの RDBMS に接続するときの、抽象化中間層。ODBC アーキテクチャでは、 Access などのアプリケーションは、ODBC(ドライバマネージャ)に接続します。そして、 ODBC は、「SQLite ODBC ドライバ」など各RDBMSごとに特有の ODBC ドライバを使用して、データソースに接続します。同様のものに、「JDBC」があります。

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

unixODBC って何?

UNIXなどで、「Windows における ODBC」と同じ役割をするもの。

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

ODBC ドライバって何?

各RDBMSごとに提供される、ODBCに対応するための機能拡張です。次のようなものがあります。

libmyodbc (MySQLodbc-postgresql (PostgreSQLlibsqliteodbc (SQLitetdsodbc (MS SQL / Sybase SQLmdbtools (*.mdb (JET / MS Access)

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

ODBC接続の設定

いわゆる「接続文字列」のはたらきODBCドライバやデータファイルの場所やオプションなどを指定して、これに名前をつける。(DSN:Data Source Name)

ユーザー DSN: 現在ログオンしているユーザーだけに定義される DSN。レジストリ サブキーとして保存される。

システム DSN: すべてのユーザーおよびサービスで共有される DSN 。レジストリ サブキーとして保存される。

ファイル DSN: ファイルに保存される DSN。ネットワークで共有したり、配布したりするためのもの。

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

実際にやってみましょう!

でもその前に...OSは何?

32bit版? 64bit版?

SQLiteは Ver.2 ? Ver.3 ?

それぞれで、ODBCも、ODBCドライバも違うので、要注意!!

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

Windows7(32bit) & SQLite Ver.3 編

公式サイトから「sqliteodbc.exe 」をDLしてインストール。

http://www.ch-werner.de/sqliteodbc/「コントロールパネル」→「システムとセキュリティ」→「管理ツール」→「データソース(ODBC)」→「ODBCデータソースアドミニストレーター」の「ドライバ」タブで、「SQLite3 ODBC Driver」が追加されていることを確認。

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

Windows 設定ファイル

DSNユーザー DSN:

HKEY_CURRENT_USER\Software\ODBC\ODBC.INIシステム DSN:

HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INIファイル DSN:/etc/ODBCDataSources/FileDSNhogehoge.dsn

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

いよいよBaseから接続1of4

Base でデータベースを新規作成し、「既存のデータベースに接続」で「ODBC」を選択します。

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

いよいよBaseから接続2of4

ユーザーDSNで名づけたデータソース名が選択できます。

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

いよいよBaseから接続3of4

SQLite にはユーザーがないので、空白のままテスト接続します。

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

いよいよBaseから接続4of4

「sample.db」の内容をBase で見ることができています。

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

情報源

「view README」に説明あり各設定項目の詳細は、今回は調べきれませんでしたorz...

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

Ubuntu(64bit) & SQLite Ver.3 編

Ubuntu ソフトウェアセンターで「unixodbc」(すべて小文字)を検索し、「詳細」の「追加のアドオン」のなかから「ODBC Driver for SQLite」もインストール。

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

ODBCManageDataSourcesQ4で設定1of3

端末からODBCManageDataSourcesQ4を起動

ユーザーDSNの場合はそのまま、システムDSNの場合はsudo で起動します。

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

ODBCManageDataSourcesQ4で設定2of3

まず「Advanced」で「ODBC Driver for SQLite」を設定します。

「Driver」と

「Setup」が

libsqlite3odbc.soになっていることを確認します。設定変更する場合、sudo で起動する必要があります。

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

ODBCManageDataSourcesQ4で設定3of3

Data Source Name の「User」に設定をAdd します。

「Database」に、

SQLite3 データファイルの場所を指定します。保存できているか確認します。他の指定項目の詳細は今回調b(ry

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

Ubuntu 設定ファイル

ドライバ設定ファイル/etc/odbcinst.ini

DSNユーザー DSN:~/.odbc.iniシステム DSN:/root/.odbc.iniファイル DSN:/etc/ODBCDataSources/FileDSNhogehoge.dsn

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

いよいよBaseから接続

Windows の場合とまったく同じ手順です。

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

その他のGUI ツール

SQLite ManagerSQLite Database BrowserSQLitemanPupSQLiteTkSQLite

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

参考文献など書籍「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.htmlhttp://www.crystal-creation.com/software/tool/office/access/external/sqlite.htmOpenOffice.org のドキュメント

https://wiki.openoffice.org/wiki/Documentation/How_Tos/Using_SQLite_With_OpenOffice.org