问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

asp.net与数据库连接出错的问题

发布网友 发布时间:2022-04-09 12:20

我来回答

3个回答

懂视网 时间:2022-04-09 16:42

当这些执行超慢的请求执行完成后(只是超慢,但没有出现500错误),一切就恢复正常,上面的错误日志也不再出现。

更奇怪的是这个问题只在Linux服务器上出现,在Windows服务器上不会出现。

在园子里看到“.NET Core中ADO.NET SqlClient的使用与常见问题”博文后,我们怀疑可能是SQL Server数据库服务器没有安装SP3(我们用的是阿里云RDS)。

这个问题,表象上体现的是一个连接超时的错误:

Unhandled Exception: System.Data.SqlClient.SqlException: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: TCP Provider, error: 35 - An internal exception was caught) ---> System.AggregateException: One or more errors occurred. (No such device or address) ---> System.Net.Internals.SocketExceptionFactory+ExtendedSocketException: No such device or address

但是这个错误却是因为SQL Server的版本问题造成的,.NET Core中的SqlClient能支持的SQL Server最小版本为 SQL Server 2008 R2 SP3,如果你的数据库小于这个版本,就会出现这个异常。

官方的Issues在此:https://github.com/dotnet/corefx/issues/9719

今天晚上突然想到,会不会是数据库连接字符串写法的问题,换一种写法试试。于是将connection string由

"Data Source=server-name;initial Catalog=database-name;user=username;password=password"

改为

"Server=server-name;Database=database-name;user=username;password=password"

之后,问题就神奇地解决了!

.NET跨平台之旅:数据库连接字符串写法引发的问题

标签:not   options   dso   exception   https   while   handle   速度   blog   

热心网友 时间:2022-04-09 13:50

VS只自带了数据库引擎,没有带管理器,要自己到微软网站下载Sql Server Management Studio Express.然后按下面的步骤做。

1.配置SQLServer外围应用服务器,开启SQL2005远程连接功能:
操作方式如下,点击“配置工具”->“SQLServer外围应用配置器”,然后在打开的窗口中选择“服务和连接的外围应用配置器”->然后选择Database Engine节点下的 “远程连接”,选择“本地连接和远程连接”,同时选择“同时使用TCP/IP和named pipes”,确定后然后需要重新启动数据库服务就可以了。
2.把登陆设置改为SQLServer 和 Windows 身份验证模式,具体设置如下:
打开SQLServer Management Studio管理器,点击服务器上面右键然后查看属性,在安全性选项里面对服务身份验证选择“SQLServer 和 Windows 身份验证模式”。
3.修改SQLServer sa的密码,体设置如下:
在SQLServer Management Studio管理器中,展开服务器上的“安全性”->登陆名->在sa帐号上点右键属性,这样在“常规”的选择页中更改sa登陆帐号的密码。注意SQLServer2005中,不允许密码设置简单,否则会通不过。然后在选择页的“状态”的登录修改为启用。
4.数据库连接字符串:
数据库连接字符串有很多种,如:
Data Server=.\SQLEXPRESS;Initial Catalog=Northwind;User ID=sa;Password=sapassSql
Data Server=服务器名\SQLEXPRESS;Initial Catalog=Northwind;User ID=sa;Password= sapassSql
Data Server=localhost\SQLEXPRESS;Initial Catalog=Northwind;User ID=sa;Password= sapassSql
Data Server=.;Initial Catalog=Northwind;User ID=sa;Password= sapassSql
Data Server=服务器名;Initial Catalog=Northwind;User ID=sa;Password= sapassSql
具体的选择是和SQLServer2005的版本有关系,如果是SQLServer 2005 Express版本,则必须要有“\SQLEXPRESS”,因此如果字符串是定义为一个变量的时候应该写成Server=. \\SQLEXPRESS。
5.在.net2.0 Framework中注册SQLServer数据库:
找到.net2.0 Framework的安装路径,一般安装在 “C:\Windows\Microsoft.NET\Framework\v2.0.50727”目录下,然后在DOS中在指定目录下运行“ASPNET_REGSQL”指令,就会出现ASP.NETSQLServer安装向导,点击“下一步”,然后选择“为应用程序服务配置SQLServer”,然后直接点击下一步,就会完成SQLServer注册界面。我们就会看到NorthWind数据库下面多了几张表。
6.设置web.config文件:
在应用程序中的web.config文件添加如下数据库连接的配置:

程序代码:
<connectionStrings>
<add name="ConnectionSqlServer" connectionString="Data Source=.\SQL2005;Initial Catalog=Test2008;User ID=sa;PWD=sasasasa" providerName="System.Data.SqlClient"/>
</connectionStrings> 这样我们便在Visual Studio 2005中可以轻松的调用SQLServer的数据连接了。
现在我们来对上面所做的步骤来测试数据的连接,我们打开Visual Studio 2005,在视图的“服务器资源管理器”来添加SQLServer 2005的连接,通过输入服务器名称和对应的SQLServer身份验证的sa用户名密码后,选取对应的数据库,然后点击“测试连接”,就会成功的连接到数据库了。
如果sa无法登录,检查sa的状态属性中,是否启用了登录

热心网友 时间:2022-04-09 15:08

打开服务器资源管理器,连接sql,如果连接成功,点高级,里面就有连接字符串
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...二极管 电动车的电瓶因为出于成本考虑,将新旧电瓶混用,因为旧电池内 ... 两个不同容量的蓄电池并联后怎么防止大容量电池向小容量电池放电 工伤后小孩有抚养费吗,会给多少钱 南京工伤死亡子女抚养费标准 邵阳车管所疫情上班吗 2023年验车推迟吗,2023年检车线什么时候上班 全面复工包括黔江车管所不 江宁车管所什么时候复工 疫情期间交警几点下班? 3d和值多少算中奖? 我妹妹要减肥.她要泻药.请问什么泻药最好.??? 以前服用过很多泻药为了减肥,比如酚酞片超级量用,导致的腹泻 qq堂的探险模式如何加快速度 吉利远景怎么调节倒车摄像头? 好想快点瘦下去哟,看到粗粗的大腿都讨厌,但是又管不住自己贪吃的嘴,真想买点超级厉害的泻药来吃 12年吉利远景能无车提档吗鲁f是哪里的车牌 如何把word转成excel???改变格式。。。 word转换为excel格式不变 吉利远景公里数怎么调出来 现在榆次车是吉利远景1.5车牌号 吉利远景车牌号川h6a541在哪里超速了 吉利远景2020款倒车影像照到自己的车牌号是怎么回事 吉利远景车架号在什么位置 我的吉利远景车今天走的时候发现倒车看见了车牌是怎么回事? 吉利远景后面装车牌号的是保险杠吗 什么是UK认证书啊? 招行uk是什么 会议平板价格为什么价格普遍偏高? 用LINGO求解运筹学含有P和d+,d-的多目标规划问题,求代码! 多目标规划lingo求解,求的是x,为什么总显示其为无效集名称? 超级严重便秘怎么办啊 我27岁,127斤,现在很痛苦,长期节食加吃泻药和利尿剂导致代谢超级低了,几乎不自主消耗了,比如第 在QQ堂中,超级火焰药水和小体力药水各有什么用,怎样使用,可以卖吗,如果能卖,能卖多少钱 美国派只有第1集有拉肚子或下泻药的镜头吗 office2016如何对续表插入题注 减肥药引起来的副作用该怎么缓解 设计器工具栏 经常便秘是为什么? ascii码-52对应什么字符?文件结束符是什么? 怎么写武侠小说,才能超过金庸??? 怎么继续复制下一个月的表格,复制粘贴的大小不一样,是不是有快捷键 在下列字符中,ASCII码值最小的一个是( ) A、空格 B、0 C、A D、a Excel2007表格处理及应用技巧总动员的前言 农行代扣有线电视业务怎么取消 腾讯课堂海信电视下载不了 腾讯课堂可以下载到电视上吗z? 小米电视能安装腾讯课堂吗? 智能电视能下载腾讯课堂么? 创维电视能不能下载腾讯课堂? 风行电视上怎么装腾讯课堂?