连接字符串ODBC,Excel 2016 Get&转变

时间:2016-11-21 14:52:12

标签: odbc connection-string powerquery excel-2016

我正在使用Excel 2016的Get&转换为连接到Postgres DB。 尝试连接ODBC数据源并询问连接字符串。我之前在Excel 2013文档中成功使用的连接字符串失败。

let
    Source = Odbc.DataSource("dsn=PostgreSQL32", [HierarchicalNavigation=true]),
    ops_Database = Source{[Name="ops",Kind="Database"]}[Data],
    public_Schema = ops_Database{[Name="public",Kind="Schema"]}[Data],
    monthly_stats_View = public_Schema{[Name="monthly_stats",Kind="View"]}[Data]
in
    monthly_stats_View

[HierarchicalNavigation]是不允许的,Excel建议使用SqlCapabilities,并且在它们也失败后,它会要求连接字符串。 我尝试使用旧文件中的连接字符串并输入:

provider=Microsoft.Mashup.OleDb.1;
data source=$EmbeddedMashup(10245e6d-0d7e-4d2c-a98e-ec01c3a30e6c)$;location=monthly_stats;
extended properties="UEsDBBQAAgAIAJpYcEnkIV3hrAAAPssAAAASABwAQ2

但它不起作用。 我从这里尝试了一个字符串: https://www.connectionstrings.com/microsoft-ole-db-provider-for-sql-server-sqloledb/ 没有运气。

您能否提供一个连接字符串的工作示例,以便在Excel 2016 Get& Transform中读取ODBC数据源中的数据?

4 个答案:

答案 0 :(得分:1)

您运行的是什么版本的Excel 2016?如果尚未更新,则可能缺少将HierarchicalNavigation选项添加到Odbc.DataSource的更新。

答案 1 :(得分:1)

如果您正在触及其中包含Microsoft.Mashup.OleDb.1的连接字符串,那么您可能会走错路。如果您有具有Power Query连接的工作簿文件,那么只有在Excel 2016中打开它才能正常工作吗?否则,请确保您没有使用顶级的From Odbc选项,而是使用Get& Transform菜单从Odbc获取数据。

{p> [HierarchicalNavigation]已在Odbc.DataSource支持了好几个月,但今年又添加了{p> Options[succ2] = {n -> 0} succ2[OptionsPattern[]] := OptionValue[n] + 1 /; Head[OptionValue[n]] === Integer succ2[] succ2[n -> 4] succ2[n -> a] 。您可以检查您的Excel Get& Transform版本是否至少为版本2.34。

答案 2 :(得分:1)

首先,您不应编辑出现在数据源属性中的连接字符串(或者可以在数据/连接中找到)。正如卡尔所说,不要触摸像

这样的东西
provider=Microsoft.Mashup.OleDb.1.............

它是另一个连接器 - 它将您的表连接到PowerQuery。

此外,您正在尝试使用MS SQL Server连接字符串连接到PostgreSQL。您应该使用此处的字符串: https://www.connectionstrings.com/pgoledb/

要正确连接到数据库,您应该(在Excel中)转到数据/新查询/从数据库/从PostgreSQL数据库。在那里,您将设置与DB的连接。

然后,使用

PostgreSQL.Database(server as text,  optional options as nullable record) as table

连接。 您可以找到此功能的说明 here

如果您坚持通过ODBC进行连接,请注意 help 为ODBC.DataSource提供了另一种语法:

Odbc.DataSource(connectionString as any, optional options as nullable record) as table

此外,当您添加新连接“来自ODBC”时,系统会要求您提供连接字符串和凭据。

答案 3 :(得分:0)

问题解决得如此简单...... 这是Microsoft错误,已在更新中修复。

溶剂是:   - 提示将Office更新与Windows更新一起安装  (开始 - > sttings->更新和安全)   - 运行更新 之后Get&从DB转换加载数据没有任何问题