kintoneドライバー:日本語名のアプリを日本語非対応のツールで扱う方法

by 浦邊信太郎 | April 4, 2025

kintoneドライバー 日本語名のアプリを日本語非対応のツールで扱う方法

本記事では、CData kintone ドライバーで日本語などマルチバイト文字で構成された名前を持つアプリを、マルチバイト非対応のツールで扱う際の課題と対応方法を説明します。

kintone ドライバーはREST API を通してkintone に対する様々な処理をデータベース操作として行うことができます。ドライバーを使うと個々のアプリがデータベースのテーブルとして読み込まれますが、このときテーブル名としてアプリ名を、カラム名としてフィールド名を使用します。

例としてテスト用に作成したアプリ「在庫管理」へのクエリを行います。

kintoneドライバー 日本語名のアプリを日本語非対応のツールで扱う方法

このアプリには以下のフィールドが設定されています。

フィールド名 フィールドコード
製品コード Product_Code
製品名 Product_Name
在庫数量 Quantity

このアプリに対応するテーブルをクエリするSQL 例を以下に示します。

SELECT [製品コード], [製品名], [在庫数量] FROM [在庫管理];

この例のようにSQL を記述する際は日本語で定義されたアプリ名・フィールド名に対応するテーブル名・カラム名を指定する必要があります。

アプリ名やフィールド名をそのままSQL でも使用できるのは直感的で便利です。しかし、ドライバーを使うETL/EAI などのツールによっては日本語などマルチバイト文字が十分に検証されておらず、文字化けなどの問題を起こしてしまう場合があります。

このような問題を解決する手段として、1.テーブル名としてアプリIDを使用する方法と、2.カラム名としてフィールドコードを使用する方法があり、この2つの方法を組み合わせることで前述の問題を回避することができます。以下それぞれの方法について説明します。

テーブル名としてアプリIdを使用する方法

アプリId はkintone でアプリを作成した時に付与される一意の数字です。アプリId の確認方法はこちらをご覧ください。テーブル名としてアプリId を使用することで、アプリ名を変えずに日本語以外の文字列でテーブルにアクセスできるようになります。

設定方法

アプリId をテーブル名として使用するにはTableNameMode プロパティに「AppId」を設定します。TableNameMode プロパティはテーブル名の生成方法を指定するプロパティで、デフォルトではアプリ名を使用する「AppName」が設定されています。TableNameMode プロパティを「AppId」に変更するとテーブル名が「App_アプリId」となります。たとえば前述の在庫管理アプリのアプリId は448のため、TableNameMode=AppId を設定すると「App_448」というテーブル名でアクセスできるようになります。

カラム名としてフィールドコードを使用する方法

フィールドコードはフィールド名とは別に付与するフィールドの識別子です。アプリのフォームからは見えず、主に計算式やAPI からフィールドを参照する際に使用します。フィールドコードに英数字で構成された文字列を設定し、これをカラム名として使用することで、アプリのフィールド名を変えることなく日本語以外の文字列でアクセスすることができます。

設定方法

UseCodeForFieldName プロパティに「True」を設定すると、フィールド名の代わりにフィールドコードをカラム名として使用します。在庫管理アプリのフィールドのコードはそれぞれProduct_Code、Product_Name、Quantity でした。そのため、UseCodeForFieldName=True を設定するとProduct_Code、Product_Name、Quantity をカラムとして使用できるようになります。

まとめ

最後に上で紹介した二つの設定を行ったときの動作を説明します。デフォルトではTableNameMode、UseCodeForFieldName プロパティに以下の値が設定されています。

  • TableNameMode=AppName
  • UseCodeForFieldName=False

この設定で在庫管理アプリのレコードをクエリする場合は以下のSQL を記述します。

SELECT [製品コード],[製品名],[在庫数量] FROM [在庫管理];

次にTableNameMode、UseCodeForFieldName プロパティに以下の値を設定します。

  • TableNameMode=AppId
  • UseCodeForFieldName=True

この設定で同じく在庫管理アプリのレコードをクエリする場合は以下のSQL を記述します。

SELECT Product_Code, Product_Name, Quantity FROM App_448;

このように、TableNameMode、UseCodeForFieldName プロパティを設定することで日本語のテーブル名やカラム名を日本語以外の文字列に置き換えることができます。これにより日本語に対応していないツールでも問題なくアクセスすることが可能になります。

おわりに

本記事では、kintone ドライバーで日本語などマルチバイト文字で構成された名前を持つアプリを、マルチバイト非対応のツールで扱う方法を説明しました。kintone ドライバーは30日間無料で試用できます。kintone との連携をご検討の方はぜひお試しください。