热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开发笔记:VS生成的连接字符串不起作用,以及它的任何变体

篇首语:本文由编程笔记#小编为大家整理,主要介绍了VS生成的连接字符串不起作用,以及它的任何变体相关的知识,希望对你有一定的参考价值。

篇首语:本文由编程笔记#小编为大家整理,主要介绍了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);
sqlTokensetData.SaveChanges();
HttpClient notificatiOnSender= new HttpClient();
HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post,
"https://fcm.googleapis.com/fcm/send");
request.Headers.TryAddWithoutValidation("Authorization", "key="
);
request.Headers.TryAddWithoutValidation("Sender", "id=");
Message pushNotification = new Message(new string[] { str }, "Success!"
);
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 =假


它对我有用。



推荐阅读
author-avatar
扯淡的青春0707
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有