如何修复ASP.NET中的“建立到SQL Server的连接时发生网络相关或示例特定的错误”错误

gkn4icbw  于 2023-02-01  发布在  .NET
关注(0)|答案(5)|浏览(144)

我在plesk上发布了我的站点,在登录表单中输入用户名和密码时出现错误。我应该说我的登录表单是基于www.example.com配置的,角色和用户都是在那里设置的。asp.net configuration and roles and users are set there.
异常(0x80131904):建立与SQL Server的连接时出现与网络相关的或特定于示例的错误。找不到服务器或无法访问服务器。请验证示例名称是否正确,以及SQL Server是否配置为允许远程连接。(提供程序:SQL网络接口,错误:26定位指定的服务器/示例时出错)
位于系统.数据. SqlClient.SqlInternalConnectionTds..作用域(DbConnectionPoolIdentity标识,SqlConnectionString连接选项,SqlCredential凭据,对象提供程序信息,字符串新密码,安全字符串新安全密码,布尔重定向用户示例,SqlConnectionString用户连接选项,会话数据重新连接会话数据,DbConnectionPool池,字符串访问令牌,布尔应用瞬时故障处理,系统.数据. SqlClient. SqlConnection工厂.创建连接中的SqlAuthenticationProviderManager(数据库连接选项、数据库连接池密钥池密钥、对象池组提供程序信息、数据库连接池、数据库连接所有者连接、数据库连接选项用户选项),位于系统、数据、提供程序库、数据库连接工厂、创建池化连接(数据库连接池池、数据库连接拥有对象、数据库连接选项选项、数据库连接池密钥池密钥、数据库连接选项用户选项),位于系统.数据.提供程序库.数据库连接池.创建对象(数据库连接所有对象、数据库连接选项用户选项、数据库连接内部旧连接)位于系统.数据.提供程序库.数据库连接池.用户创建请求(数据库连接所有对象、数据库连接选项用户选项、数据库连接内部旧连接)位于系统.数据.提供程序库.数据库连接池. TryGetConnection(数据库连接拥有对象,UInt32等待多个对象超时,布尔值允许创建,仅布尔值一次检查连接,数据库连接选项用户选项,数据库连接内部和连接)在系统.数据.提供程序库.数据库连接池. TryGetConnection(数据库连接拥有对象,任务完成源1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection) at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource 1重试,数据库连接选项用户选项,数据库连接内部旧连接,数据库连接内部&连接),位于系统。数据。提供程序库。数据库连接内部。尝试打开连接内部(数据库连接外部连接、数据库连接工厂连接工厂、任务完成源1 retry, DbConnectionOptions userOptions) at System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource 1重试、数据库连接选项用户选项)在系统.数据. SqlClient. SqlConnection. TryOpenInner(任务完成源1 retry) at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource 1重试),位于系统.数据. SqlClient. SqlConnection.打开()位于系统. Web.数据访问. SqlConnectionHolder.打开(HttpContext上下文,布尔值revertImpersonate),位于系统. Web.数据访问. SqlConnectionHelper. GetConnection(字符串连接字符串,布尔值还原模拟),位于系统。Web。安全性。SqlRoleProvider。GetRolesForUser(字符串用户名),在C:\用户\EZ-TECH\文档\Visual Studio 2010\项目\3层\RealEstate\RealEstate\login.aspx.cs中单击(对象发送者,事件参数):第36行客户端连接ID:0000000 - 0000 - 0000 - 0000 - 0000 - 000000000错误号:-1,状态:0,类:20

h43kikqp

h43kikqp1#

我有同样的错误,我后来发现我在连接字符串中使用的是正斜杠(/)而不是反斜杠(\)。
这是我用的--

Server=(localdb)//mssqllocaldb;

虽然这是正确的连接字符串:

Server=(localdb)\\mssqllocaldb;
enyaitl3

enyaitl32#

可能有几个问题导致您的错误:

**1)**确保您的服务器名称正确,例如名称上没有打字错误。
**2)**确保示例名称正确,并且目标计算机上确实存在这样的示例。[更新:某些应用程序将\转换为。如果您不确定您的应用程序,请在连接字符串中同时尝试ServerInstance和Server\Instance]
**3)**确保服务器可以访问,例如DNS可以正确解析,您可以ping服务器(不总是正确的)。只需打开命令提示符,如果是命名示例,请键入“-ping yourservername”,如果是未命名示例,请键入“-ping yourserverIP”。
**4)**确保SQL Browser服务正在服务器上运行。
**5)**如果服务器上启用了防火墙,则需要将sqlbrowser.exe和/或UDP端口1434设置为例外。

我的一个应用程序也遇到了同样的问题,**4)**在服务器上启用了SQL浏览服务,解决了这个问题。
参考和其他信息:https://blogs.msdn.microsoft.com/sql_protocols/2007/05/13/sql-network-interfaces-error-26-error-locating-serverinstance-specified/

s1ag04yj

s1ag04yj3#

在我的情况下,这是间歇性错误,打开和关闭。这是由数据库服务器有IP冲突造成的。希望这对一些人有帮助。

8zzbczxx

8zzbczxx4#

  • 本地主机Sql服务器 * 数据库名称为sample * 连接字符串名称为SampleConnectionString
  • 只需检查连接字符串,您的错误将消失
<connectionStrings>
        <add name="SampleConnectinString" connectionString="Data Source=.\SQLEXPRESS; Integrated Security=true;Initial Catalog= sample;" providerName="System.Data.SqlClient" />
</connectionStrings>
  • 使用www.example.com中的连接字符串ado.net
string cs = ConfigurationManager.ConnectionStrings["SampleConnectinString"].ConnectionString;SqlConnection con = new SqlConnection(cs);
f8rj6qna

f8rj6qna5#

连接字符串可能有问题。请检查一次您是否能够使用配置文件中提到的连接登录到pc中的sql server。仅供参考:如果您使用go daddy作为主机,请删除主机中冒号后的名称。例如:host=198.71.225.113:1433 use only“data source=198.71.225.113”ignore“:1433”

相关问题