Oiyokan is an OData v4 server (provider) SDK for RDB. You can use Oiyokan to turn RDBMS into OData v4 services.
- Based on Apache Olingo. Build with Spring Boot, Java, h2.
- Oiyokan uses JDBC to provide OData v4 access to the RDB.
- Source code at github, license : Apache License.
- PostgreSQL (13)
- MySQL (8)
- SQL Server (2008)
- Oracle XE (18c) (Beta)
- $select
- $count
- $filter
- $orderby
- $top
- $skip
- Oiyokan provides OData server sample of Sakila DVD rental.
- Metadata of OData sample is provided at $metadata.
You can find the running OData v4 sample server at Heroku.
You can try OData v4 sample server at your computer.
Check out source code repository and you can run it as Spring Boot Web Server.
mvn clean install spring-boot:run
- 最も重要なのは Oiyokan の設定ファイルを変更して、接続したいデータベース情報を記述することです。
- より詳しい内容はソースコードから読み込むことにより得られます。
src/main/resources/oiyokan/oiyokan-settings.json
oiyokan-oiyo.sql ファイルに ターゲットDBの Oiyo情報をあらわす SQL/DDL文を記述.
src/main/resources/oiyokan/sql/oiyokan-oiyo.sql
記述内容については oiyokan-test-oiyo-postgres.sql を参考にする。
Spring Boot を再起動することにより設定情報の更新を反映。
oiyokan プロジェクトは、OData v4 server のシンプルなサンプル(https://github.com/igapyon/simple-odata4) を祖先に作成されたものです。
- ORACLE では $filter で CLOB 型の項目では検索できない。
- Oracle 12c には TIME 型が無い模様。BOOLEANなど他にも対応のない型がある。それを整理。
- Sakila DB定義の create_date が Postgres版と MySQL 版とで型が違う. これにより、同一の Oiyo ファイルでアクセスすると "The types 'Edm.DateTimeOffset' and 'Edm.Date' are not compatible. が発生する。
- ORACLE は項目名が大文字に変わってしまうので、対応表の利用が必要.
- いつの日か、Singleの検索の挙動確認を横展開で調査したい.