データベースでの [接続] アクションの使用

[接続] アクションを使用して、データベース関連のタスクを自動化するために使用するデータベース サーバーとの接続を確立します。このアクションは、Microsoft Access、Microsoft SQL Server、MySQL、Oracle、PostgreSQL Server、SQLite データベース サーバーをサポートするほか、CSV、Microsoft Excel、TXT ファイルをデータベースとして使用します。

重要: 現在インストールされている Office が以下のいずれかに該当する場合。
  • Microsoft 365 Apps for Enterprise
  • Office 2016、2019、2021 (Consumer 版 2009 以降)

その場合、追加コンポーネントとして Microsoft Access Database Engine をシステムにインストールする必要はありません。

ただし、Microsoft 365 Apps と Microsoft Access Database Engine の両方がシステムにインストールされている場合は、Microsoft Access Database Engine をアンインストールし、Microsoft 365 Apps を修復することができます。

Microsoft Access Database Engine 2016 と Microsoft 365 Apps は同じメジャー バージョン識別子 (16.0) を使用しているため、Microsoft Access Database Engine ドライバーを個別にインストールしないことを Microsoft 社は推奨しています。Microsoft Access Database Engine ドライバーのインストール要件の詳細については、「Unable to use the Access ODBC or OLEDB provider」を参照してください。
注: SQL Server ドライバーは Microsoft Office のインストールに依存しません。Excel ドライバーのバージョンだけが Microsoft オフィスのバージョンに依存します。ただし、メモ帳や CSV などの別のドライバーを使用する場合は、それぞれサポートされている ODBC ドライバーをインストールする必要があります。

データベース サーバーの詳細を指定し、セッション名に関連付けます。このアクションで指定したセッション名は他のアクションでも使用できるので、他のアクションでデータベース サーバーの詳細を入力する必要はありません。

手順

データベース サーバーとの接続を確立するには、次の手順に従ってください。

  1. [アクション] パレットのデータベース パッケージの [接続] アクションをダブルクリックまたはドラッグします。
  2. [デフォルト] または [ユーザー定義] 接続オプションを選択します。
    [ユーザー定義] 接続モードを選択し、ANSI エンコードで [読み取り] アクションを使用して取得したデータを CSV ファイルに保存すると、Oracle データベースから取得したレコードが表示の際に文字化けします。

    この問題の詳細については、「Fullwidth hyphen is garbled when exporting data to csv by Database: Read from action with encoding ANSI (A-people login required)」を参照してください。

    • [デフォルト] オプションを選択すると、JDBC 接続文字列と 64 ビット ドライバーをサポートしている任意のデータベースの接続文字列を直接入力することができます。サポートされているデータベースのリストについては、「サポート対象データベース サーバーの対応表」を参照してください。
      注: [デフォルト] オプションを選択して Excel に接続し、Excel ファイルで英語以外の文字を使用する場合、Unicode 文字をサポートするために UTF-8 エンコードを使用する必要があります。

      セカンダリ サイトでデータベースと共有リポジトリを設定している場合は、JDBC 接続を使用してレプリカ データベースに接続します。たとえば、jdbc:sqlserver://AGL-ADDRESS:1433;databaseName=DB_NAME;user=username;password=password;applicationIntent=ReadOnly です。

      ODBC ドライバーを使って Snowflake データベースとの接続を確立できます。ODBC ドライバーのダウンロードの詳細については、Snowflake using ODBC Driver を参照してください。

      接続文字列を入力し、データベースに接続できます。たとえば、Driver={SnowflakeDSIIDriver};Server={account}.aws.snowflakecomputing.com;Database=DB_NAME;uid=username;pwd=password; です。

      Excel、CSV、または TXT ファイルに接続するには、このオプションを使用します。「Connection Strings by database type」を参照してください。

      注: ODBC を通じて任意のデータベースにアクセスするには、まずデバイスに 32 ビット ODBC ドライバーをインストールする必要があります。

      パラメーター: 接続文字列のテキストで資格情報 (ユーザー名やパスワード) を公開せずに、資格情報ロッカーからの資格情報値を使用できます。そのためには、まず資格情報マッパーで資格情報をマッピングして、二重中括弧で囲んだ接続文字列内のパラメーター名を使用する必要があります。

      たとえば、パラメーター名が db_username で、パラメーター値が資格情報値から選ばれる場合、3 つのパラメーターを持つ接続文字列は次のようになります。“Provider=SQLOLEDB.1;Initial Catalog=master;Password={{db_credentials}};Persist Security Info=True;User ID={{db_username}};Data Source={{db_datasource}}”

      資格情報ロッカーのパスワードを使用するには、次の手順を実行します。
      1. [パラメーターを追加] をクリックします。
      2. [パラメーター名] に入力します。
      3. [パラメーター値] で、[資格情報] を選択して、[資格情報 Vault] で利用可能な値を使用するか、[変数] を選択して資格情報変数を使用するか、[安全でない文字列] を選択して使用する値を手動で指定します。
      4. [追加] をクリックします。

      より安全なオートメーションを確保するには、接続文字列に Credential Vault 変数を使用します。

      [ODBC 64 ビット ドライバーを接続に使用する] オプションを選択して、データベースに接続します。
      注:
      • データベースにアクセスし、[データベース] アクションを使用して操作を実行するには、64 ビット Access ODBC ドライバーがシステムにインストールされていることを確認してください。
      • 以下に記載されているアクションは、データベースと接続した後に実行されるデータベース トランザクションのため、32 ビットと 64 ビットの OBDC ドライバーには対応していません。
        • データベース トランザクションを開始
        • データベース トランザクションの終了
        • ストアド プロシージャを管理
      • Excel をデータベースとして使用することで、64 ビット ドライバーでは 32 ビット ドライバーより多くの行を処理することができます。
    • [ユーザー定義] オプションを選択した場合は、使用可能なオプションからデータベース タイプを選択し、選択に基づいて次のフィールドを入力します。
      データベース タイプ オプション
      Microsoft SQL ServerPostgreSQL Server
      • サーバー名: 接続先のデータベース サーバーの名前を入力します。
      • データベース名: データベース名を入力します。
      • ユーザー名: データベース サーバーへのアクセスに使用するユーザー名を入力します。セキュリティで保護されたユーザー名にするには、Credential Vault 変数を選択します。それ以外の場合は、値を入力します。
      • パスワード: 指定したユーザー名のパスワードを入力します。セキュリティで保護されたパスワードにするには、Credential Vault 変数を選択します。それ以外の場合は、値を入力します。
      • インスタンス名: この接続インスタンスの名前を入力します。
      • [タイムアウト (秒) (オプション)] フィールド: Bot をキャンセルする前に、システムの待機時間を 1 ~ 9,999 の値で指定してください。

        指定された時間にデータベース接続が確立されないと、オートメーションはタイムアウトとなり失敗します。[タイムアウト (秒) (オプション)] フィールドに値を入力しない場合、ドライバー ライブラリで指定されたデフォルトのタイムアウトが使用されます。

        注: Microsoft SQL Server は、このオプションのみをサポートしています。
      Windows 認証を使用した Microsoft SQL Server への接続
      MySQL Microsoft SQL Server データベース タイプと同じオプションを入力します。さらに、ポート番号を入力します。デフォルトのポート番号は 3306 です。
      Microsoft Access、SQLite 以下からデータベースのファイル パスを選択します。
      • [Bot] フォルダー
      • ローカル デバイス
      • 既存のファイル変数
      Oracle
      • サーバー名 (任意): 接続先の Oracle サーバーの名前を入力します。
      • オプション: オプションを選択して、使用する Oracle インスタンスを指定します。
        • システム ID (SID): システム ID を入力します。
        • サービス名: サービス名を入力します。
        • TNS名: tnsname.ora 設定ファイルで利用可能な TNS 名を入力します。

          環境変数でシステム プロパティを設定していない場合は、tnsname.ora 設定ファイルのファイル パスを指定します。

        注: [サーバー名] または [Oracle インスタンス] を使用して、Oracle Databaseに接続することができます。サーバー名を使用する場合、[Oracle インスタンス] フィールドに [システム ID (SID)] または [サービス名] を指定して、Oracle データベースとそのインスタンスを識別する必要があります。ただし、TNS 名を使用して接続する場合は、[サーバー名] フィールドに値を入力する必要はありません。TNS 名とファイル パスの値のみ入力してください。
      • ユーザー名: Oracle サーバーへのアクセスに使用するユーザー名を入力します。セキュリティで保護されたユーザー名にするには、Credential Vault 変数を選択します。それ以外の場合は、値を入力します。
      • パスワード: 指定したユーザー名のパスワードを入力します。セキュリティで保護されたパスワードにするには、Credential Vault 変数を選択します。それ以外の場合は、値を入力します。
      • ポート: ポート番号を入力します。デフォルトのポート番号は 1521 です。
      注: JDBC ドライバーを使用して接続を確立する場合、Microsoft SQL Server については、データベース パッケージに JDBC ドライバーがすでに含まれています。一方、他のデータベース サーバーについては、適切なリソースから対応する JDBC ドライバー jar ファイルをダウンロードした後、提供する必要があります。

      ODBC ドライバーを使用して接続を確立する場合は、jar ファイルを提供する必要はありません。

  3. [Bot] フォルダー、ローカル デバイス、またはファイル変数からドライバー ファイルを選択します。
  4. 以下のいずれかのタブを選択して、データベース セッションを作成します。
    • ローカル セッション: 現在の Bot でのみ使用可能なセッション名を指定します。
    • グローバル セッション: 親 Bot や子 Bot など、複数の Bot で使用できるセッション名を指定します。
    • 変数: サブタイプ データベース セッションのセッション変数を指定または作成します。
  5. [保存] をクリックします。

次のステップ

次のいずれかを選択します。
  • [読み取り] アクションを使用して、データベースからレコードを取得します。

    [読み取り] アクション の使用

  • データベースへの変更を含むタスクを自動化する場合は、[データベース トランザクションを開始] アクションを挿入します。

    このアクションによって、すべてのレコードが完全に更新または削除されるので、実行時間中 Bot でエラーが発生した場合に、レコードが誤って更新されたり、不完全データが削除されたりするのを防ぐことができます。

    データベース パッケージ