SQL Azure + 出现错误“已经有一个与此命令关联的打开的 DataReader..”,即使在设置“MultipleActiveResultSets=True”之后也是如此

2024-01-25

我们在云上部署的应用程序版本面临一些问题。

我们的应用程序是一个带有 ADO .NET 实体框架的 ASP.NET MVC 3 项目。

根据 msdn 博客,我们需要在数据库连接字符串中添加参数“MultipleActiveResultSets=True”(对于带有 SQL azure 的实体框架),我们已经正确完成了这一操作。

从我们的应用程序执行数据库查询时,我们遇到以下异常:“已经有一个与此命令关联的打开的 DataReader,必须首先关闭它。”, 我想这与“MultipleActiveResultSets=True”属性非常相关。

该应用程序在使用我们本地部署的数据库以及使用 SQL azure 数据库(在本地环境中)的本地环境中运行良好。

但是当我们部署云应用程序时,我们会遇到上述错误。似乎没有从连接字符串中读取“MultipleActiveResultSets=True”属性。

我正在使用的连接字符串如下:

    <connectionStrings>
        <add name="#DBInstanceName#" connectionString="Data Source=tcp:#server#.database.windows.net,1433;Initial Catalog=#DBName#;User ID=”UserName#@#server#;Password=”#password#”;MultipleActiveResultSets=True" providerName="System.Data.SqlClient"/>
    </connectionStrings>

我能够使用本地部署的应用程序中的上述连接字符串连接到 SQL Azure 数据库,没有任何异常。但是,当使用相同的连接字符串部署在云上时,相同的应用程序会出现上述错误。

您能帮我们解决这个问题吗?


我刚刚遇到同样的问题。我尝试在 Web.config 连接中设置“MultipleActiveResultSets=True” - 没有结果。 最后,我通过直接在网站的 Azure 仪表板上手动编辑连接字符串解决了问题 - 在“配置”选项卡中有“连接字符串”设置,您应该在其中手动添加“MultipleActiveResultSets=True;”细绳。 这样做之后,我终于让 MARS 工作了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SQL Azure + 出现错误“已经有一个与此命令关联的打开的 DataReader..”,即使在设置“MultipleActiveResultSets=True”之后也是如此 的相关文章

随机推荐