我有一个可在我的机器上运行的MVC Core应用程序,其中SQLEXPRESS不是命名实例。当我将它部署到远程计算机上的IIS 7.5时,它是一个命名实例,而不更改连接字符串:
"Server=localhost;Database=QuickShare;Trusted_Connection=True;MultipleActiveResultSets=true"
我收到以下错误:
SqlException:发生了与网络相关或特定于实例的错误 同时建立与SQL Server的连接。服务器不是 发现或无法访问。验证实例名称是否正确 并且SQL Server配置为允许远程连接。 (提供者:命名管道提供者,错误:40 - 无法打开 连接到SQL Server)
然后我更正了nameD实例的连接字符串:
"Server=localhost.\SQLEXPRESS;Database=QuickShare;Trusted_Connection=True;MultipleActiveResultSets=true"
我收到以下错误:
ArgumentNullException:值不能为null。参数名称: 的connectionString
在开发人员错误页面的堆栈跟踪中,突出显示的是Startup.cs
的以下行:
options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
如何仅更改连接字符串从预期的连接异常到空参数异常?
答案 0 :(得分:3)
记住你的配置文件是JSON,这意味着某些字符需要被转义,在这种情况下它是反斜杠。所以从this answer你可以看到你需要加倍反斜杠。例如:
"Server=localhost\\SQLEXPRESS;Database=QuickShare;......"