我突然在应用程序中遇到错误。
错误是:
此操作需要连接到“master”数据库。无法 因为原始数据库创建了与'master'数据库的连接 数据库连接已打开,凭据已被删除 来自连接字符串。提供未打开的连接。
代码中没有任何变化 - 数据库访问在其余代码中都很好。
它停在这一行:
var filteredContacts = dc.EAContactLists.Where(o => teams.Contains(o.Team)).ToList();
我迷失了这个。
答案 0 :(得分:36)
尝试在连接字符串中设置Persist Security Info = True
。
希望这有帮助。
答案 1 :(得分:8)
我有这个问题,在我的情况下通过在连接字符串中添加“Integrated Security = True”来解决它。这仅适用于使用Windows身份验证连接到数据库的情况。希望它有所帮助。
答案 2 :(得分:6)
这个错误发生在我身上,以上都没有。令人尴尬的是,我意识到我错过了连接字符串中的分号。可能有用......
答案 3 :(得分:5)
为Windows身份验证添加Integrated Security=True
。这对我有用。
答案 4 :(得分:2)
您好,如果您尝试在架构中进行更改(例如创建表格或更改某个对象),则此问题仍然存在...
你没有权利这样做..
如果您正在使用MVC并且您的数据库已经退出服务器,则可以使用代码解决此问题
Database.SetInitializer<EmployeeContext>(null);
只需在application_start事件方法的Global.asax文件中添加此代码即可。
答案 5 :(得分:0)
确保您没有运行Fiddler。使用F12暂时禁用流量捕获解决了我的问题。
答案 6 :(得分:0)
如果您正在进行Windows身份验证:
对于用户身份验证:
答案 7 :(得分:0)
我太蠢了。我遇到了同样的错误然后我意识到当我没有为发布模式配置转换时,我在发布模式下的包管理器控制台中运行了update-database -verbose命令。
这是在调试模式下对我有用的连接字符串格式。
密码= dumbeldore;持久安全信息= True;用户ID = johnmcclain;初始目录= DB_diehard400;数据源= killthatbill;
答案 8 :(得分:0)
对我来说,问题在于我的密码包含一个&
签名。