【发布时间】:2018-11-19 21:46:51
【问题描述】:
我有 Azure 分析服务实例,使用表格模型,我需要从 python 脚本中通过 DAX 或 MDX 查询数据。
我从 Azure 获得了一个如下所示的连接字符串:
Provider=MSOLAP;Data Source=asazure://eastus.asazure.windows.net/mymodel;Initial Catalog=mycatalog;User ID=myuser@mail.com;Password=mypass;Persist Security Info=True;Impersonation Level=Impersonate
我尝试使用pyodbc 连接到该连接字符串:
import pyodbc
connection_str = "Provider=MSOLAP;Data Source=asazure://eastus.asazure.windows.net/mymodel;" \
"Initial Catalog=mycatalog;User ID=myuser@mail.com;Password=mypass;" \
"Persist Security Info=True;Impersonation Level=Impersonate"
my_connection = pyodbc.connect(connection_str)
我收到了这个错误:
Traceback (most recent call last):
File "C:/workspace/test.py", line 7, in <module>
my_connection = pyodbc.connect(connection_str)
pyodbc.InterfaceError: ('IM002', '[IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified (0) (SQLDriverConnect)')
Process finished with exit code 1
【问题讨论】:
-
这是一个 OLEDB 驱动程序而不是 ODBC。也许试试pypi.org/project/pyoledb?
-
这个库好像不存在了:
Could not find a version that satisfies the requirement pyoledb -
有解决办法吗?你能把python和azure AS连接起来吗?
-
很遗憾,我没有找到任何库或接口,我们使用 C# 创建了一个 rest 接口,将 DAX 请求传递给 Analysis Services 并将结果以 JSON 形式返回。
-
@ItzikFriedland 我也有类似的要求。即使两年后,我也无法在 python 中找到连接 Azure 分析服务的方法。您能否分享您的 C# 代码摘要。
标签: python olap azure-analysis-services