C# 打开程序立即抛出错误代码10054(连接被强制关闭)
使用Visual Studio 2017(C#项目)和SQL Server 2016 不确定我到底做错了什么。我已经将我的整个方法简化为这段代码。调用C# 打开程序立即抛出错误代码10054(连接被强制关闭),c#,sql-server,exception,database-connection,C#,Sql Server,Exception,Database Connection,使用Visual Studio 2017(C#项目)和SQL Server 2016 不确定我到底做错了什么。我已经将我的整个方法简化为这段代码。调用连接.Open的那一刻,我立即得到此异常: (10054)现有连接被远程主机强制关闭 try { SqlConnection connection = new SqlConnection("Data Source = DEVELOPMENTBOX\\GAMEDATABASE; Initial Catalog = ItemDB; U
连接.Open
的那一刻,我立即得到此异常:
(10054)现有连接被远程主机强制关闭
try
{
SqlConnection connection = new SqlConnection("Data Source = DEVELOPMENTBOX\\GAMEDATABASE; Initial Catalog = ItemDB; User ID = dataReader; Password = ********");
connection.Open();
System.Console.WriteLine("Succcess");
connection.Close();
}
catch (System.Exception e)
{
System.Console.WriteLine(e.Message);
}
我检查过的东西:
- 我正确地使用System.Data.SqlClient
- 已选中允许远程连接到此服务器,超时为600
- GAMEDATABASE的协议(命名管道、TCP/IP)已启用
- 我可以通过IP和主机名ping开发框
- 数据库安全设置为SQL Server和Windows身份验证模式
- 两台计算机上的防火墙都已禁用
- 三次检查我的用户名和密码
- 尝试通过字符串进行替代连接
我真是不知所措。如果您有任何帮助,我们将不胜感激。请浏览mjwills发布的链接。我发现我的问题在于我使用的Mono版本 在撰写本文时,最新版本仅支持SQL Server 2008。当我使用上面完全相同的代码并使用.NET4.7库将其粘贴到一个新项目中时,它工作得非常好 因此,感谢mjwills发表这篇文章,否则我将永远不会看到受支持的系统
@mjwills。我想给你评分,但我不能将评论标记为答案 你读过和吗?你的第一个链接让我想到mono可能不支持MSSQL 2016,而查看System.Data.SqlClient.dll只能到2008年。这听起来像吗?感觉这非常重要,因为它不支持08年之后的任何内容。您是否100%确定用户存在并且密码正确?首先删除数据源,因为该源已在初始目录initial catalog=ItemDB中指定,并且是冗余的。由于windows用户帐户,用户和密码通常不起作用。Windows PC不允许远程连接,除非它是为来宾帐户设置的,或者远程计算机位于用户组中。最好使用SQL Server Windows组帐户作为凭据,并将用户放入组帐户。要能够访问数据库,远程用户必须拥有一个帐户,或者客户端pc和服务器pc以及两台pc必须位于同一组中。SQL server错误日志中有任何相关信息吗?