ODBC

总结

项目 说明
发布状态 正式版
产品 Excel
Power BI(语义模型)
Power BI(数据流)
Fabric(数据流 Gen2)
Power Apps(数据流)
Dynamics 365 Customer Insights
Analysis Services
支持的身份验证类型 数据库(用户名/密码)
Windows
默认值或自定义
函数参考文档 Odbc.DataSource
Odbc.Query

注意

由于部署计划和特定于主机的功能,某些功能可能只存在于一个产品中。

先决条件

在开始之前,确保已在 Windows ODBC 数据源管理器中正确配置了连接。 此处的确切过程取决于驱动程序。

支持的功能

  • 导入
  • 高级选项
    • 连接字符串(非凭据属性)
    • SQL 语句
    • 支持的行缩减子句

从 Power Query Desktop 连接到 ODBC 数据源

请执行以下步骤来建立连接:

  1. 获取数据选择中选择 ODBC 选项。

  2. 从 ODBC 中,从数据源名称 (DSN) 下拉框中选择数据源名称 (DSN)。 在此示例中,使用 SQL Server 数据库的 DSN 名称。

    Power Query Desktop 中的 ODBC 连接生成器。

    还可以选择高级选项以输入更多可选连接信息。 详细信息:使用高级选项进行连接

  3. 完成后,选择“确定”。

  4. 如果这是首次连接到此数据库,请在系统提示时选择身份验证类型和输入凭据。

    Power Query Desktop 中的 ODBC 身份验证。

    可用的身份验证类型包括:

    • 默认值或自定义:如果使用配置了用户名和密码的 DSN,则不指定任何凭据时,选择此身份验证类型。 或者,如果需要将凭据作为连接字符串属性包含在内。
    • Windows:如果要使用 Windows 身份验证进行连接,请选择此身份验证类型。 (可选)包括所需的任何连接字符串属性。
    • 数据库:选择此身份验证类型,以使用用户名和密码通过 ODBC 驱动程序访问数据源。 (可选)包括所需的任何连接字符串属性。 这是默认选项。

    详细信息:使用数据源进行身份验证

  5. 完成后,选择连接

  6. 导航器中,选择所需的数据库信息,然后选择加载以加载数据,或是选择转换数据以继续在 Power Query 编辑器中转换数据。

    导航器。

从 Power Query Online 连接到 ODBC 数据源

请执行以下步骤来建立连接:

  1. 数据源页面中,选择 ODBC

  2. 在 ODBC 页面中,输入 ODBC 连接字符串。 在以下示例中,连接字符串为 dsn=SQL Server Database

    ODBC 页的图像,其中连接字符串设置为 SQL Server 数据库

  3. 如果需要,请在数据网关中选择本地数据网关。

  4. 选择要登录的身份验证类型,然后输入凭据。

  5. 选择下一步

  6. 导航器中,选择所需的数据库信息,然后选择加载以加载数据,然后选择转换数据以继续在 Power Query 编辑器中转换数据。

使用高级选项进行连接

Power Query 提供一组高级选项,可以根据需要将这些选项添加到查询中。

ODBC 高级选项。

高级选项 说明
连接字符串(非凭据属性) 提供可选连接字符串,该字符串可用于替代 Power BI Desktop 中的数据源名称 (DSN) 选项。 如果将数据源名称 (DSN) 设置为(无),可以改为在此处输入连接字符串。 例如,以下连接字符串有效:dsn=<myDSN>driver=<myDriver>;port=<myPortNumber>;server=<myServer>;database=<myDatabase>;。 要对特殊字符进行转义,请使用 { } 字符。 连接字符串的键会因不同 ODBC 驱动程序而异。 有关有效连接字符串的详细信息,请咨询 ODBC 驱动程序提供商。
SQL 语句 根据驱动程序的功能提供 SQL 语句。 请向供应商询问详细信息,或转到使用本机数据库查询从数据库导入数据
支持的行缩减子句 Table.FirstN 启用折叠支持。 选择检测以查找支持的行缩减子句,或从其中一个下拉列表选项(TOP、LIMIT 和 OFFSET、LIMIT 或 ANSI SQL 兼容)中进行选择。 使用本机 SQL 语句时,此选项不适用。 仅在 Power Query Desktop 中可用。

已知问题和限制

连接字符串属性

如果在 ODBC 连接字符串中指定了 DSN,则不包含 DSN 规格后的属性。 如果要使用其他属性,请在 DSN 本身中更新它们,而不是在连接字符串中更新它们。