对数据库使用连接操作

使用连接 操作 与要用于自动执行数据库相关任务的数据库服务器建立连接。 此操作支持 Microsoft Access、Microsoft SQL Server、MySQL、 PostgreSQL Server 和 SQLite 数据库服务器,以及使用 CSV、Microsoft Excel 和 TXT 文件作为数据库。

重要: 支持以下 Office 安装版本:
  • Microsoft 365 企业版应用程序
  • Office 2016、2019 或 2021(消费者版本 2009 或更高版本)

如果您当前安装的是任何一个受支持的 Office 版本,则无需将 Microsoft Access Database Engine 作为附加组件安装到系统中。

然而,如果您的系统上同时安装了 Microsoft 365 应用程序和 Microsoft Access 数据库引擎,那么您可以卸载 Microsoft Access 数据库引擎并修复 Microsoft 365 应用程序。

Microsoft 建议您不要单独安装 Microsoft Access 数据库引擎驱动程序,因为 Microsoft Access 数据库引擎 2016 和 Microsoft 365 应用程序使用相同的主版本标识符 (16.0)。 要了解有关 Microsoft Access 数据库引擎驱动程序安装要求的更多信息,请参阅Unable to use the Access ODBC or OLEDB provider
注: SQL Server 驱动程序不依赖于 Microsoft Office 的安装。 只有 Excel 驱动程序版本依赖于 Microsoft Office 版本。 然而,如果您想使用不同的驱动程序,例如 Notepad 或 CSV,那么您必须安装相应支持的 ODBC 驱动程序。

指定数据库服务器的详细信息,并将其与会话名称关联。 在其他 操作 中使用此 操作 中提供的会话名称,这样您就不必在这些 操作 中提供数据库服务器的详细信息。

过程

要与数据库服务器建立连接,请执行以下步骤:

  1. 数据库 软件包操作面板中双击或拖动连接 操作
    注:MacOS 平台上创建自动化时,可以使用 JDBC 连接字符串建立连接。 但是,不能使用 ODBC 连接字符串连接到数据库。
  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 文件中使用非英文字符时,必须使用 UTF-8 编码来支持 Unicode 字符。
      • 用于连接到数据库的 ODBC 连接字符串在 MacOS 上不受支持。

      如果您已在辅助站点配置了数据库和共享存储库,请使用 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. 参数值中,选择凭据以使用凭据保管库、变量中可用的值,以使用凭据变量,或选择不安全的字符串以手动指定要使用的值。
      4. 单击添加

      为确保自动化更安全,请对连接字符串使用 Credential Vault 变量。

      选择使用 ODBC 64 位驱动程序进行连接选项以连接到数据库。
      注:
      • 确保在您的系统上安装了 64 位访问 ODBC 驱动程序,以便使用数据库操作访问任何数据库并执行操作。
      • 以下操作不支持 32 位或 64 位 ODBC 驱动程序,因为列出的操作是与数据库建立连接后执行的数据库事务:
        • 开始数据库事务
        • 结束数据库事务
        • 管理存储过程
      • 使用 Excel 作为数据库时,与 32 位驱动程序相比,64 位驱动程序可以处理更多的行。
    • 如果选择用户定义选项,请从可用选项中选择数据库类型,并根据所选内容填写以下字段:
      注: 当您连接到 Microsoft Access 或 SQLite 数据库并选择 Control Room 文件路径时,操作将在已从 Control Room 下载的本地文件(机器人坐席)上执行。 Control Room 服务器上存储的依赖文件保持不变。
      数据库类型 选项
      Microsoft SQL Server, PostgreSQL Server
      • 服务器名称: 输入要连接到的数据库服务器的名称。
      • 数据库名称: 输入数据库名称。
      • 用户名: 输入要用于访问数据库服务器的用户名。 为确保用户名的安全,请选择 Credential Vault 变量。 否则,请输入值。
      • 密码: 输入您已提供的用户名的密码。 为确保密码的安全,请选择 Credential Vault 变量。 否则,请输入值。
      • 实例名称: 输入此连接实例的名称。
      • 超时时间(秒)(可选)字段: 请指定您希望系统在取消机器人之前等待的时间,范围为 1 到 9999。

        如果在指定时间内未建立数据库连接,自动化过程将超时并失败。 如果您未在超时时间(秒)(可选)字段中输入值,则将使用驱动程序库中指定的默认超时时间。

        注: Microsoft SQL Server 仅支持此选项。
      通过 Windows 身份验证连接到 Microsoft SQL Server
      MySQL 输入与 Microsoft SQL Server 数据库类型相同的选项。 此外,输入端口号。 默认端口号为 3306。
      注: 我们建议不要使用 My SQL 驱动程序版本 8.0.40,因为如果您使用此版本运行参数化存储过程,可能会遇到一些问题。 请联系您的 Automation Anywhere 客户成功经理 (CSM) 获取帮助。
      Microsoft Access、SQLite 从以下位置选择数据库文件路径:
      • Bots 文件夹
      • 本地设备
      • 现有文件变量
      Oracle
      • 服务器名称(可选): 输入要连接到的 Oracle 服务器的名称。
      • 可选:选择一个选项来指定要使用的 Oracle 实例:
        • 系统 ID (SID): 输入系统 ID。
        • 服务名称: 输入服务名称。
        • TNS 名称: 在 tnsname.ora 配置文件中输入可用的 TNS 名称

          如果没有用环境变量设置系统属性,则指定 tnsname.ora 配置文件的文件路径。

        注: 您可以使用服务器名称Oracle 实例连接到 Oracle 数据库。 如果您使用服务器名称进行连接,则必须在 Oracle 实例字段中指定系统 ID (SID)服务名称以识别 Oracle 数据库及其实例。 但是,如果您使用 TNS 名称进行连接,则无需在服务器名称字段中输入任何值。 您只需输入 TNS 名称和值的文件路径。
      • 用户名: 输入要用于访问 Oracle 服务器的用户名。 为确保用户名的安全,请选择 Credential Vault 变量。 否则,请输入值。
      • 密码: 输入您已提供的用户名的密码。 为确保密码的安全,请选择 Credential Vault 变量。 否则,请输入值。
      • 端口: 输入端口号。 默认端口号为 1521。
      注: 如果您使用 JDBC 驱动程序建立连接,对于 Microsoft SQL Server,数据库 软件包 已经包含 JDBC 驱动程序。 但是,对于其他数据库服务器,您必须在从适当的资源下载后提供相应的 JDBC 驱动程序 jar 文件。

      如果使用 ODBC 驱动程序建立连接,则无需提供 jar 文件。

  3. Bots 文件夹、本地设备或文件变量中选择驱动程序文件。
  4. 选择以下任何一个选项卡来创建数据库会话:
    • 本地会话: 指定一个只能在当前 机器人 中使用的会话名称。
    • 全局会话: 指定一个可在多个 机器人 中使用的会话名称,例如父级 机器人 和子级 机器人
      推荐: 父级和子级机器人应具有相同的软件包版本。
    • 变量: 指定或创建一个子类型为数据库会话的会话变量。
  5. 单击保存

后续步骤

从以下选项中进行选择:
  • 使用读取自 操作 从数据库检索记录。

    使用读取自 操作

  • 如果自动执行的任务涉及对数据库进行更改,请插入开始数据库事务 操作

    操作 可确保所有记录全部更新或删除,并防止在 机器人 运行时遇到错误时意外更新或删除不完整的数据。

    数据库 软件包