gpt4 book ai didi

c# - 已成功与服务器建立连接,但在登录前握手期间发生错误。 (无法更改 SQL Server)

转载 作者:太空宇宙 更新时间:2023-11-03 16:18:56 25 4
gpt4 key购买 nike

我有一个作为共享帐户托管的 ASP.Net 站点。我收到错误:

A connection was successfully established with the server, but then an error 
occurred during the pre-login handshake. (provider: SSL Provider, error: 0 -
The specified data could not be decrypted.

我在网上找到的信息似乎表明问题是 SQL Server 不信任证书(SSL 证书是由 verisign 和托管服务签署的有效证书,不是自签名的)。但是,托管服务告诉我:

  1. SQL Server 必须设置为“强制协议(protocol)加密”,因为它是共享服务器

  2. 他们无法导入证书或进行任何更改,也不允许我为此做任何事情

还有其他解决方案吗?这是我的代码有问题吗?我尝试从 bin 文件夹和 web.config 中删除我的 DLL,并制作一个直接连接到数据库的 aspx 页面,但我仍然遇到同样的错误!

有没有可能解决这个问题?是我的代码以某种方式导致了这种情况吗?

编辑:我更改为使用连接字符串中的 ip 地址,它暂时再次开始工作,但现在它再次给我错误。我不确定为什么它偶尔会再次开始工作然后突然停止工作。有谁知道吗?

(代码在我本地托管的开发服务器上运行完美)

网页

<%@ Page language="c#" %>
<%@ Import namespace="System" %>
<%@ Import namespace="System.Web" %>
<%@ Import namespace="System.Data" %>
<%@ Import namespace="System.Data.SqlClient" %>
<script runat="server">

protected void Page_Load(object sender, EventArgs e)
{
try
{
//Now insert into database
SqlConnection conn = new SqlConnection( ConfigurationManager.AppSettings["ConnectionString"] );

conn.Open();
SqlCommand cmd = new SqlCommand( );
cmd.Connection = conn;
cmd.CommandText = "SELECT * FROM TestTable";
cmd.ExecuteReader();
Response.Write( "done" );
}
catch (Exception sqlEx)
{
Response.Write( sqlEx.ToString() );
}
}
</script>

Web.config

<?xml version="1.0"?>
<configuration>
<system.web>

<customErrors mode="Off"/>
</system.web>
<appSettings>
<add key="ConnectionString" value="server=mydb.thehostingservice.com;user=dbUser;initial catalog=test;pwd=dbpass" ></add>
</appSettings>
</configuration>

最佳答案

我不知道这是否是一个很好的永久修复,但我最终能够通过使用数据库的 IP 地址和连接字符串中的端口而不是数据库的“web”地址来连接它。所以我用“192.168.1.213,1433”替换了“mydb.thehostingservice.com”。

在此之后,它能够连接。

但让我怀疑这是一个永久解决方案的是,在这之后我切换回在连接字符串中使用“mydb.thehostingservice.com”来查看 ti 是否会中断,现在它也可以工作了!所以这可能会在未来再次打破我。

之前我收到了错误,但我删除了我的 web.config 和 dll 并暂时修复了它 - 但最近一次删除这些东西并没有修复它 - 所以我担心这是一样的。

编辑:它再次给我错误。那不是解决方案。我不确定为什么它偶尔会再次开始工作然后突然停止工作。有人知道吗?

关于c# - 已成功与服务器建立连接,但在登录前握手期间发生错误。 (无法更改 SQL Server),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14721927/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com