我正在使用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数据源中的数据?
答案 0 :(得分:1)
您运行的是什么版本的Excel 2016?如果尚未更新,则可能缺少将HierarchicalNavigation选项添加到Odbc.DataSource
的更新。
答案 1 :(得分:1)
如果您正在触及其中包含Microsoft.Mashup.OleDb.1
的连接字符串,那么您可能会走错路。如果您有具有Power Query连接的工作簿文件,那么只有在Excel 2016中打开它才能正常工作吗?否则,请确保您没有使用顶级的From Odbc选项,而是使用Get& Transform菜单从Odbc获取数据。
[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转换加载数据没有任何问题