documents:quick:quick-0015
目次
unixODBCとPostgreSQL-ODBCデータソースのクイックセットアップ
2016/02/10
新規作成
ハマった。確認を兼ねてインストールをやってみる。
概要
FreeBSD/amd64 10.2での unixODBCとPostgreSQL-ODBCドライバーインストール手順および接続確認手順。
- unixODBCインストール
- PostgreSQL-ODBCインストール
- odbcinst.ini定義
- odbc.ini定義
- PostgreSQLに接続確認用データベース定義
- 接続確認用データベースにサンプルテーブル定義
- isqlクライアントで接続確認用データベースに接続してサンプルテーブルを参照する
参考サイト
- unixODBC のインストール - end0tknrのkipple - web写経開発
- UNIX/Linux 用 ODBC ドライバーの構成手順 (詳細) - PureData System for Analytics 7.1.0 UNIX/Linux 用 ODBC ドライバーの構成
インストール
unixODBCインストール
今回はportsからのインストール。
root@amanda:/root # cd /usr/ports/databases/unixODBC root@amanda:/usr/ports/databases/unixODBC # make; make install -- 中略 -- root@amanda:/usr/ports/databases/unixODBC # pkg info unixODBC unixODBC-2.3.4 Name : unixODBC Version : 2.3.4 Installed on : Wed Feb 10 00:23:01 2016 JST Origin : databases/unixODBC Architecture : freebsd:10:x86:64 Prefix : /usr/local Categories : databases Licenses : LGPL21 and GPLv2 Maintainer : ports@FreeBSD.org WWW : http://www.unixodbc.org/ Comment : ODBC library suite for Unix Options : DOCS : on Shared Libs provided: libodbccr.so.2 libodbcinst.so.2 libodbc.so.2 Annotations : Flat size : 2.84MiB Description : From the web site: What is the unixODBC Project? The unixODBC Project goals are to develop and promote unixODBC to be the definitive standard for ODBC on the Linux platform. What is ODBC? ODBC is an open specification for providing application developers with a predictable API with which to access Data Sources. Data Sources include SQL Servers and any Data Source with an ODBC Driver. WWW: http://www.unixodbc.org/ root@amanda:/usr/ports/databases/unixODBC #
PostgreSQL-ODBCインストール
同じくportsからインストール。
root@amanda:/root # cd /usr/ports/databases/postgresql-odbc root@amanda:/usr/ports/databases/postgresql-odbc # make; make install -- 中略 -- root@amanda:/usr/ports/databases/postgresql-odbc # pkg info postgresql-odbc postgresql-odbc-09.03.0400 Name : postgresql-odbc Version : 09.03.0400 Installed on : Wed Feb 10 00:26:14 2016 JST Origin : databases/postgresql-odbc Architecture : freebsd:10:x86:64 Prefix : /usr/local Categories : databases Licenses : LGPL20 Maintainer : bofh@FreeBSD.org WWW : http://www.postgresql.org/ftp/odbc/versions/ Comment : PostgreSQL ODBC driver Options : DOCS : on EXAMPLES : on Shared Libs required: libssl.so.8 libodbcinst.so.2 libpq.so.5 Annotations : Flat size : 657KiB Description : The official ODBC driver for connecting to PostgreSQL Database; not a part of the PostgreSQL Database distribution, though -- developed and maintained separately. WWW: http://www.postgresql.org/ftp/odbc/versions/ root@amanda:/usr/ports/databases/postgresql-odbc #
設定
接続確認用データベース定義
PostgreSQL実行アカウントでログインしてユーザ odbcuser と odbcuserをオーナーとするデータベース odbcsample を定義する。
$ createuser odbcuser $ createdb --encoding=utf8 --owner=odbcuser odbcsample
psqlクライアントで確認用テーブルを定義する。今回は以下のようなテーブルを定義。
root@amanda:/root # psql -h 192.168.1.28 -U odbcuser odbcsample psql (9.3.10, サーバー 9.5.0) 注意: psql メジャーバージョン 9.3, サーバーバージョン 9.5. psql の機能の中で、動作しないものがあるかもしれません。 "help" でヘルプを表示します. odbcsample=> \d sample; テーブル "public.sample" 列 | 型 | 修飾語 -----+------------------------+-------- id | INTEGER | val | CHARACTER VARYING(100) | odbcsample=> SELECT * FROM sample; id | val ----+-------- 1 | 私は今 2 | とても 3 | 眠い。 (3 行) odbcsample=> \q root@amanda:/root #
odbcinst.ini定義
unixODBCで導入される odbcinstコマンドでテンプレートファイルからインストールしてもいいけど面倒なので手書き。
FreeBSDのportsでは /usr/local/etc/odbcinst.ini に作成される。
[PostgreSQL] Description = PostgreSQL driver for FreeBSD Driver = /usr/local/lib/psqlodbcw.so UsageCount = 1
- ファイル /usr/local/lib/psqlodbcw.so は PostgreSQL-ODBCで導入されるライブラリ(ドライバ)
- このライブラリに‟PostgreSQL”の名前を付けている
odbc.ini定義
unixODBCで導入される odbcinstコマンドでテンプレートファイルからインストールしてもいいけど面倒なので手書き。
FreeBSDのportsでは /usr/local/etc/odbc.ini に作成される。
[sampledb] Description = test sample db Driver = PostgreSQL Trace = No TraceFile = sql.log Database = odbcsample Servername = 192.168.1.28 UserName = Password = Port = 5432 ReadOnly = No RowVersioning = No ShowSystemTables = No ShowOidColumn = No FakeOidIndex = No
- データソース名(DSN)に‟sampledb”の名前を付けている
- このデータソースはodbcinst.iniで宣言したライブラリ名‟PostgreSQL”のライブラリ(ドライバ)を使う旨定義している
- 対象インスタンスはIPアドレス 192.168.1.28 ポート 5432 で接続受付している
- 対象インスタンスのデータベース odbcsample に接続する
確認
必要なら LD_LIBRARY_PATH といった環境変数にライブラリ(ドライバ)の格納パスを明示する。
FreeBSD 10.2では指定しなくても動作した。
isqlクライアントで接続確認
unixODBCで導入される isql コマンドでデータソース名を指定して接続確認する。
$ isql sampledb odbcuser +---------------------------------------+ | Connected! | | | | sql-statement | | help [tablename] | | quit | | | +---------------------------------------+ SQL> SELECT * FROM sample; +------------+-----------------------------------------------------------------------------------------------------+ | id | val | +------------+-----------------------------------------------------------------------------------------------------+ | 1 | 私は今 | | 2 | とても | | 3 | 眠い。 | +------------+-----------------------------------------------------------------------------------------------------+ SQLRowCount RETURNS 3 3 ROWS fetched SQL> quit $
odbc.iniに定義された sampledb データソースに接続し、テーブル sample を読み出す事ができた。
documents/quick/quick-0015.txt · 最終更新: 2023/04/14 02:32 by 127.0.0.1