gpt4 book ai didi

c# - SSAS 与 C# 中的 XMLA 同步 - 使用 SQL 2017 中断

转载 作者:行者123 更新时间:2023-11-30 18:11:40 26 4
gpt4 key购买 nike

我有一些 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 应用程序中工作。神秘。

最佳答案

我终于找到了真正的原因。我在 ASP.Net Core Startup.cs 中有这个:

var cultureInfo = new CultureInfo("en-US");
CultureInfo.DefaultThreadCurrentCulture = cultureInfo;

在德语/英语混合环境中,这就是问题所在。删除这些行,重新部署应用程序,问题就消失了。这显然是 MS 端某处的错误。我注意到是因为在 SSMS 中手动运行同步以德语传送 SQL 事件探查器消息,但我以英语传送失败的同步。我从应用程序中删除了以上几行,现在消息是德语的,但它有效。

关于c# - SSAS 与 C# 中的 XMLA 同步 - 使用 SQL 2017 中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57203698/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com