ノーコードでクラウド上のデータとの連携を実現。
詳細はこちら →無償トライアル:
無償トライアルへ製品の情報と無償トライアルへ:
Airtable ODBC Driver を使って、ODBC 接続をサポートするあらゆるアプリケーション・ツールからAirtable にデータ連携。
Airtable データにデータベースと同感覚でアクセスして、Airtable のTables に使い慣れたODBC インターフェースで双方向連携。
古川えりか
コンテンツスペシャリスト
ODBC Driver
こんにちは!コンテンツスペシャリストの古川です。Go はオープンソースのプログラミング言語で、高速かつ信頼性の高いソフトウェアを低コストで作成することができます。Go とODBC Driver for Airtable およびunixODBC を組み合わせて使うことで、Airtable データにリアルタイム連携するアプリケーションを作成できます。 本記事では、ODBC Driver for Airtable のインストール、unixODBC Driver Manager への設定、そしてAirtable に連携するGo アプリケーションの作成までを説明します。
CData ODBC Drivers はUbuntu、Debian、RHEL、CentOS、およびFedora など多くのRed Hat ベースおよびDebian ベースのシステムでサポートされています。 ほかにもいくつかのライブラリやパッケージのインストールが必要ですが、すでにデフォルトでインストールされている場合もあります。詳細はオンラインおよびインストールされるヘルプドキュメントの「はじめに」のセクションを参照してください。
ドライバーのインストール前にシステムにDriver Manager が入っているかを確認してください。本記事では無償のオープンソースDriver Manager であるunixODBC を使います
Ubuntu のようなDebian ベースのシステムでは、APT パッケージマネージャからunixODBC をインストールできます:
$ apt-get install unixODBC unixODBC-dev
Red Hat Linux ベースのシステムでは、yum もしくはdnf からunixODBC をインストールできます:
$ yum install unixODBC unixODBC-devel
unixODBC Driver Manager はDriver の情報をodbcinst.ini ファイルから読み、odbc.ini からデータソースの情報を読みます。 次のコマンドをターミナルに入力して、設定ファイルの配置場所を決めることができます:
$ odbcinst -j
コマンドのアウトプットでODBC データソースのコンフィギュレーションファイルと登録されたODBC Drver のロケーションを表示します。 ユーザーデータソースはodbc.ini ホームフォルダが位置するユーザーアカウントのみからアクセス可能です。システムデータソースはすべてのユーザーからアクセスできます。 このコマンドのアウトプット例は以下です:
DRIVERS............: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES..: /etc/ODBCDataSources
USER DATA SOURCES..: /home/myuser/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8
標準パッケージ形式でドライバーをダウンロードできます:Debian .deb package format もしくは、.rpm file format です。 ファイルをダウンロードしたら、ターミナルからドライバーをインストールします。
ドライバーインストーラーはドライバーをunixODBC に登録し、ODBC 接続をサポートするツールやアプリケーションから利用できるシステムDSN を作成します。T
Ubuntu のようなDebian ベースのシステムでは、sudo とともに次のコマンドを実行します:
$ dpkg -i /path/to/package.deb
.rpms をサポートするシステムでは、sudo とともに次のコマンドを実行します:
$ rpm -i /path/to/package.rpm
ドライバーのインストール後、unixODBC Driver Manager を使って、登録されたドライバーを表示し、データソースを定義することができます:
$ odbcinst -q -d
CData ODBC Driver for Airtable
...
$ odbcinst -q -s
CData Airtable Source
...
unixODBC でCData ODBC Driver for Airtable を使用するには、ドライバーがUTF-8 を使用するように設定する必要があります。それには、通常はインストールフォルダのlib フォルダ(/opt/cdata/cdata-odbc-driver-for-airtable)に入っているドライバーのINI ファイル(cdata.odbc.airtable.ini)を次のように編集する必要があります:
...
[Driver]
DriverManagerEncoding = UTF-16
ドライバーがインストールされると、システムDSN が事前定義されます。システムDSN はシステムデータソースファイル(/etc/odbc.ini)を編集して必要な接続プロパティを定義します。 ユーザー単位のDSN を作成することも可能で、その際には$HOME/.odbc.ini へのアクセスと変更は必要ではありません。
Airtable への接続には、APIKey、BaseId、TableNames のプロパティが必須です。ViewNames は任意項目でテーブルのビューを指定することができます。
[CData Airtable Source]
Driver = CData ODBC Driver for Airtable
Description = My Description
APIKey = keymz3adb53RqsU
BaseId = appxxN2fe34r3rjdG7
TableNames = TableA,...
ViewNames = TableA.ViewA,...
これらのコンフィギュレーションファイルの使い方についての詳細は、インストールされるヘルプドキュメントを参照してください。
Driver Manager のインストール、DSN 設定を終えたら、Airtable data に連携するGo アプリケーションを作成します。 まずはODBC データベース向けのGo ドライバーをインストールします。いくつかのオプションがありますが、本記事ではhttps://github.com/alexbrainman/odbc のODBC ドライバーを使います。
Go のODBC ドライバーをインストールするには、GOPATH 環境変数を定義する必要があります:
export GOPATH=$HOME/golang/go
GOPATH が定義されたら、ODBC ドライバー向けのGo ドライバーをインストールすることが可能です:
$ go get github.com/alexbrainman/odbc
これでGo アプリケーションを作って実行する準備ができました。
このサンプルアプリケーションはAirtable data に対してシンプルなSQL SELECT クエリを発行し、結果を表示します。$GOPATH/src/cdata-odbc-airtable ディレクトリを作成し、次のソースコードをコピーして新しいGo ファイルを作成します。
package main
import (
_ "github.com/alexbrainman/odbc"
"database/sql"
"log"
"fmt"
)
func main() {
db, err := sql.Open("odbc",
"DSN=CData Airtable Source")
if err != nil {
log.Fatal(err)
}
var (
id string
column1 string
)
rows, err := db.Query("SELECT Id, Column1 FROM SampleTable_1 WHERE Column1 = ?", "Value1")
if err != nil {
log.Fatal(err)
}
defer rows.Close()
for rows.Next() {
err := rows.Scan(&id, &column1)
if err != nil {
log.Fatal(err)
}
fmt.Println(id, column1)
}
err = rows.Err()
if err != nil {
log.Fatal(err)
}
defer db.Close()
}
ターミナルで、Go アプリケーションディレクトリにナビゲートし、アプリケーションをビルドします:
$ go build
アプリケーションのビルド後、アプリケーションを実行し、Airtable のデータを表示することができます:
$ ./cdata-odbc-airtable
これでAirtable と連携するシンプルなGo アプリケーションができました。ここに、より複雑なread 機能を使い慣れたSQL 文で足してみてください。