VS生成的连接字符串不起作用,以及它的任何变体
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VS生成的连接字符串不起作用,以及它的任何变体相关的知识,希望对你有一定的参考价值。
我正在使用IIS和ASP.NET CORE部署Web应用程序。我设置了一个“appsetting.json”文件,其中包含一个到sql server的连接字符串。到目前为止,我尝试的任何变化都没有用。奇怪的是,它在我的本地机器上完美运行,但是当我部署它并发送HTTPPost时,日志文件说使用服务器上的数据库连接时出错。
好吧,我尝试了我能想到的所有变化。 Visual Studio生成的当前连接字符串是:
Data Source =(localdb) MSSQLLocalDB; Initial Catalog = Swap; Integrated Security = True; Connect Timeout = 30; Encrypt = False; TrustServerCertificate = FALSE; ApplicationIntent =读写; MultiSubnetFailover =假
我已经尝试将“Integrated Security”更改为False。我试图用用户ID和密码(“sa”用户)替换它。我尝试添加“初始目录”属性并将其设置为我的数据库。
我很确定应用程序的启动很好,因为当我尝试向主页发送GET请求时,一切似乎都很好。当我发送POST请求并要求DBcontext添加和SaveChanges时,它显示以下错误:
失败:Microsoft.EntityFrameworkCore.Database.Connection [20004]使用服务器上的数据库“交换”连接发生错误 '(的LocalDB) MSSQLLocalDB'。
这是我尝试将HTTPPost请求发送到的函数:
byte[] j = new byte[(int)Request.ContentLength];
Request.Body.Read(j, 0, (int)Request.ContentLength);
string str = Encoding.ASCII.GetString(j);
TokenSet tokenSet = new TokenSet {Token = str };
sqlTokensetData.Add<TokenSet>(tokenSet);
sqlTokensetData.SaveChanges();
HttpClient notificationSender = new HttpClient();
HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post,
"https://fcm.googleapis.com/fcm/send");
request.Headers.TryAddWithoutValidation("Authorization", "key="
<somekey>);
request.Headers.TryAddWithoutValidation("Sender", "id=<id>");
Message pushNotification = new Message(new string[] { str }, "Success!"
<somestring>);
request.Content = new
StringContent(JsonConvert.SerializeObject(pushNotification)
,Encoding.UTF8,"application/json");
HttpResponseMessage output = await notificationSender.SendAsync(request);
日志文件错误:https://anotepad.com/notes/9a8jxa
我希望将“str”字符串插入到数据库中。谢谢。
好吧,基本上,感谢上面的评论,我已经成功解决了这个问题。如果遇到同样的错误,您需要做什么:1。如上所述,下载SQL Server Express - https://www.microsoft.com/en-us/sql-server/sql-server-editions-express。然而,在您认为合适的情况下配置SQL Server。 2.配置sa用户,设置密码并启用它。 3.如果SQL身份验证不起作用,则在Microsoft SQL Server Management Studio中 - >右键单击服务器 - >属性 - >服务器身份验证 - >更改为SQL Server和Windows身份验证4.将连接字符串更改为:
数据源=;初始目录=用户ID = sa;密码=; Connect Timeout = 30; Encrypt = False; TrustServerCertificate = False; ApplicationIntent =读写; MultiSubnetFailover =假
它对我有用。
以上是关于VS生成的连接字符串不起作用,以及它的任何变体的主要内容,如果未能解决你的问题,请参考以下文章
MS OFFICE excel vs Open office Calc vs libreoffice calc 以及相同的公式对每个原因都不起作用任何建议