【发布时间】:2021-01-31 02:34:05
【问题描述】:
我正在使用 Python 来自动化一些报告,但我在尝试连接到 SSAS 多维数据集时遇到了困难。我在 Windows 7 上使用 Anaconda 4.4,除了 Anaconda 中包含的库之外,我无法安装任何库。
我已经使用 pyodbc+pandas 连接到 SQL Server 数据库并使用 SQL 查询提取数据,现在的目标是在 SSAS 多维数据集上做类似的事情,使用 MDX 查询来提取数据,但我无法得到成功的连接。
第一个连接字符串与我用来连接 SQL Server 数据库的字符串非常相似,但它给了我一个身份验证错误。我可以使用 SQL Server Management Studio 毫无问题地访问多维数据集,因此我知道我的 Windows 凭据可以访问。
connection = pyodbc.connect('Trusted_Connection=yes',DRIVER='{SQL Server}',SERVER='Cube Server', database='Cube')
query = "MDX query"
report_df = pandas.read_sql(query, connection)
Error: ('28000', "[28000] [Microsoft][ODBC SQL Server Driver][SQL Server]Login failed for user '*****'. (18456) (SQLDriverConnect)")
当我尝试在Question1 和 Question2我得到一个不同的错误:
Error: ('IM002', '[IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified (0) (SQLDriverConnect)')
任何帮助/指导将不胜感激。我对 SSAS 多维数据集的经验很少,所以我可能在完成这项任务时走错了路,即使连接问题得到解决,将数据加载到 pandas 中也会出现另一个问题,等等。
【问题讨论】:
-
SSAS doesn't support ODBC clients。您使用的驱动程序用于数据库引擎
-
好的,谢谢。您有其他推荐的驱动程序吗?
-
另一方面 it provides HTTP Access through IIS 可用于从任何客户端连接,包括 SPA
-
检查xmla 包。请注意,SSAS 连接字符串使用“my-as-server/olap/msmdpump.dll”,即 SSAS HTTP 访问端点的 URL
-
或许这个解决方案会对你有所帮助stackoverflow.com/a/65434789/14872543>
标签: python sql-server anaconda ssas