【发布时间】:2019-12-03 20:01:08
【问题描述】:
我有一些 C# 代码使用未记录的 Microsoft.AnalysisServices.Xmla.dll 库,该库在 SQL 2016 SSAS 中运行良好。我生成 XMLA 脚本,然后执行:
XmlaClient clnt = new XmlaClient();
clnt.Connect(@"server\instance");
string out = clnt.Send(syncxml, null);
clnt.Disconnect();
syncxml 是 XMLA 脚本。这已经工作了很长时间了。现在,对于 SQL 2017 SSAS 实例,它会引发错误“此数据库包含当前版本的服务器或数据库的兼容性级别不支持的功能”。
我将 .dll 升级到我能找到的最新版本 (16.1.3.0),它肯定是在 SQL 2017 之后发布的。
我可以毫无问题地使用 SSMS 2017 同步模型,并且 SSMS 中的同步函数生成的脚本相同与代码中的 syncxml 相同,导致上述错误。
我认为它必须与 .dll 版本有关,但我无法使用这些 2017 实例。两者都是版本 14.0.249.2,兼容级别 1200。
更新:如果我从一个简单的控制台应用程序运行相同的代码,它就可以工作,它已经停止在 ASP.NET Core 应用程序中工作。神秘。
【问题讨论】:
-
您的 XMLA 是否从 SSMS 执行?如果是,那么我会尝试 SSIS 中的“Analysis Services DDL 任务”。
-
是的,XMLA 可以很好地从 SSMS 执行。这与 SSIS 无关,它是在 ASP.Net Core WEBAPI 中运行的代码......