猿问

存储过程不接受整数参数

在这里寻求一些帮助。我有一个连接到 SSAS 多维数据集的 ASP.NET 站点。这已经在各种 SSAS 版本中工作了十多年 - 最近的 SSAS 2014。网站设置为使用 Windows 身份验证,因此每个用户只能看到他们有权访问的内容。作为将 SSAS 数据库升级到 2017 的一部分,我还从 .NET 3.5 升级到了 .NET 4.7。我的 SSAS 服务器在单独的服务器上运行 - 而不是在 IIS 服务器上。


似乎导致问题的代码非常简单:


AdomdConnection olapCnn = new AdomdConnection();

olapCnn.ConnectionString = ""Provider=MSOLAP;Data Source=ASServerName;Initial Catalog=SomeDatabase";

olapCnn.Open();

打开连接失败并显示“连接失败或超时”。如果我指向我的 SSAS 2014 服务器和数据库,它工作正常。如果我运行探查器跟踪,我可以在我的 SSAS 2014 实例上看到,我按预期使用我的凭据连接到 AS。但是,在我的 MSAS 2017 实例上,我可以看到有人尝试在 NTUserName 列中使用“ANONYMOUS LOGON”登录,并且 NTDomainName 为“NT AUTHORITY”。使用这些凭据,我无法连接是有道理的 - 但是,我不明白为什么它不像 MSAS 2014 实例那样获取我的凭据。


这对我来说变得更加棘手。它实际上在我托管 IIS 的开发机器上工作 - 如果我从 VS 2017 调试或不调试启动项目,我可以打开连接并且探查器显示我的凭据,因此连接到 SSAS 所需的所有组件都安装在IIS/开发服务器。如果我在不使用 VS 2017 的情况下从开发/IIS 服务器上的浏览器连接到网站,Everthing 也可以正常工作。


总结一下:从开发/IIS 机器,我可以连接到远程 SSAS 实例,并从另一台 PC 连接到开发/IIS 机器上的 IIS,它在尝试以匿名方式连接到 SSAS 2017 时失败。指向一个 SSAS 2014 实例,它可以在开发/IIS 机器和远程机器上工作。


我在这里缺少什么?


慕村9548890
浏览 176回答 2
2回答

慕尼黑的夜晚无繁华

第一步是隔离你的错误。您的错误是从应用程序代码还是数据库代码中抛出的?如果您遵循3Dave 的建议,您会得到什么?假设您指向正确的数据库服务器。尝试运行:EXEC [dci].[webDonorStatistics] 2018如果上面的调用没有返回任何错误,我会检查应用程序代码。

红颜莎娜

您的错误表明您尝试插入表中的数据无效,您必须右键单击存储过程并单击执行存储过程,您可以在其中插入会计年度的参数,执行应该失败。然后创建一个具有不同名称的相同存储过程的副本并更改会计年度的数据类型,看看是否可以解决问题并在执行存储过程时为您提供结果。同样在您拥有的存储过程中,如果有任何尝试检查您尝试插入的内容的数据类型和表模式中存在的内容的数据类型,如果不匹配,我看不到任何插入命令你可以相应地改变。
随时随地看视频慕课网APP
我要回答