---
sourceDocument: オーストラリア API リファレンス
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ja-JP/api-reference

 Release :

    - australia

ft:locale :

    - ja-JP

ft:publication_title :

    - オーストラリア API リファレンス

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# ODBC の動作

# ODBC の動作 {#ariaid-title1}

* リリースバージョン: Australia
* 
* 更新日 2026年03月12日
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 所要時間：3分

ODBC ドライバーをテストした後、それを使用して、さまざまなクライアントアプリケーションからインスタンスデータベースをクエリできます。

## ODBC 集計関数 {#r_ODBCBehavior__section_k4m_fbc_vbb}

ODBC ドライバーは、データをダウンロードし、集計関数をローカルに適用しようとします。ODBC ドライバーは、次の集計関数をサポートしています。

* 総数
* 合計
* 最小
* MAX
* AVG

{#r_ODBCBehavior__ul_p2l_3bc_vbb}

集計 Web サービス プラグインをアクティブ化して、ODBC ドライバーを使用して集計クエリのパフォーマンスを向上させます。

## ODBC の日付と時刻の値 {#r_ODBCBehavior__section_jjq_4bc_vbb}

インスタンスと ODBC ドライバーがインストールされているマシンは、2 つの異なるタイムゾーンを使用する場合があります。ODBC ドライバーによって返される日付と時刻の値は、ServiceNow インスタンスのタイムゾーンではなく、ドライバーを使用するアプリケーションのローカルタイムゾーンになります。

インスタンスと ODBC ドライバーをホストするマシンの両方について、正確なタイムゾーンでクエリを実行してください。GlideRecord はインスタンスのタイムゾーンに基づいてフィルタリングを実行し、ODBC クライアントは Windows のタイムゾーンに基づいてフィルタリングされます。

たとえば、インスタンスが中部標準時 (CST) で、ODBC ドライバーが太平洋標準時 (PST) のマシンにインストールされているとします。インシデントは 2014-05-20 10:00:00 にインスタンスで作成され、インシデントが作成された時刻は、両方のタイムゾーンのユーザーに対して UI に 10:00:00 として表示されます。ただし、作成日時でこのインシデントを正常に照会するには、PST のマシン上のユーザーが 2014-05-20 10:00:00 ではなく 2014-05-20 08:00:00 を照会する必要があります。

期間とタイマーの種類のフィールドは、ODBC バージョン 1.0.10 以降の UTC タイムゾーンを使用して返されます。この変更の詳細については、「 [KB0583982](https://support.servicenow.com/kb_view.do?sysparm_article=KB0583982) 」を参照してください。

## ODBC 表示値 {#r_ODBCBehavior__section_mks_gcc_vbb}

ODBC 表示値の使用方法と操作方法の例を次に示します。

* \[ 選択肢\] 列と \[参照 \] 列に値を表示します。

  選択肢、参照、期間、またはタイマータイプの列をクエリする場合、表示値を含むプリフィックス `dv_` を持つ追加の列を使用できます。たとえば、\[ dv_caller_id \] を選択すると、sys_user テーブルに別の要求を行うことなく、インシデントレコードから参照フィールドの sys_user.name 表示値を返すことができます。  
  図 : 1. 表示値を返す
* フィルター条件に値を表示:表示値はフィルター条件でも使用できます。ODBC ドライバーは、クエリ条件を最適化し、サーバー上のフィルターを処理します。たとえば、dv_caller_id フィールド名を使用してインシデントの caller_id フィールドの sys_user の表示値を照会します。

  図 : 2. フィルター条件に値を表示
* アグリゲートクエリに値を表示します。アグリゲートクエリでは、group by または where 節で表示値を指定した場合 (たとえば、インシデントの caller_id フィールドでのグループ化や、インシデントのフィルターの指定など) を利用することもできます。クエリは、サーバーに渡すことによって最適化されます。

  図 : 3. アグリゲートクエリに値を表示する
{#r_ODBCBehavior__ul_lzl_mcc_vbb}

## テーブル名と列名のクエリ {#r_ODBCBehavior__section_fw5_xfc_vbb}

クエリを実行しているユーザーの読み取り ACL に基づいて、アクセス可能なテーブルと列のリストを取得できます。

* 次のクエリは、クエリを実行しているユーザーが読み取りアクセス権を持つすべてのテーブルの名前を返します。`oa_tablesから*を選択します。`

* クエリーするテーブルの名前がわかれば、ユーザーが読み取りアクセス権を持つすべての列の名前をクエリーできます。クエリを実行するユーザーには、テーブルと列の両方に対する読み取りアクセス権が必要です。`select * from oa_columns where table_name='table_name';`

{#r_ODBCBehavior__ul_xqb_dgc_vbb}  
注:  
oa_tablesテーブルとoa_columnsテーブルは、内部ODBCテーブルです。これらのテーブルには、ODBC ドライバーからのみアクセスできます。

## ODBC 呼び出しの読み取りレプリカへのルーティング {#r_ODBCBehavior__section_uhx_2hy_sxb}

クエリルーティングは、プライマリ DB で多数の DB CPU サイクルを必要とする SELECT クエリのプライマリデータベースの負荷を軽減するために行われます。詳細については、「 [ServiceNow 読み込みレプリカデータベースの概要](https://support.servicenow.com/kb?id=kb_article_view&sysparm_article=KB0824441)」を参照してください。

ODBC 呼び出しを読み取りレプリカにルーティングするには、次に移動します すべてセカンダリデータベースセカンダリ DB カテゴリ ODBC を <kbd class="ph userinput">true</kbd> に設定します。
* **[SQL クエリのフィールド長を長くする](https://servicenow-prod.fluidtopics.net/PPNW5vYJ2K1Ci_s8uBeI9g)**   
  ODBC ドライバーは、SQL クエリのフィールド長を、 ServiceNow 辞書エントリで定義されている最大長に制限します。データの切り捨てを回避するために、フィールドの最大長を長くすることができます。

