已成功与服务器建立连接,但是在登录前的握手期间发生错误。 (provider: TCP Provider, error: 0 - 远程主机强迫关闭了一个现有的连

itcat001 2018-12-04 09:04:35
我的云服务器上安装的是CentOS7.4操作系统,云服务器端数据库为SQL Server2017。发现C/S结构的客户端无法从windowsXP系统上访问云服务器上的SQL Server2017数据库,提示:已成功与服务器建立连接,但是在登录前的握手期间发生错误。 (provider: TCP Provider, error: 0 - 远程主机强迫关闭了一个现有的连接。) ,试过本地多台XP系统的机器,都一样报错,但在win7系统上却可以正常访问,也在多台本地win7系统试过,都没问题。
客户端程序我是在64位的WIN7系统上打包的,我怀疑可能与打包的操作系统有关,于是我又将客户端程序放到32位的WINXP系统上用VS重新生成、打包后,再分别安装到WIN7和WINXP两种系统的机器上,现象还是一样,不知为什么?
数据库安装是没有问题,在本地64位win7上,用PUTTY和SSMS都能远程访问服务器端的数据库的
折腾了一天,没有解决,救解,先谢各位了!
...全文
1482 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
吉普赛的歌 2018-12-05
  • 打赏
  • 举报
回复
二月十六 2018-12-05
  • 打赏
  • 举报
回复
在xp上能正常访问数据库吗?检查一下。
itcat001 2018-12-04
  • 打赏
  • 举报
回复
,这是报错的截图。我还特意编写了一个小的窗体程序,里面只有连接数据且读取某一表中的内容,发现现是同样的问题。
namespace WinXPConnectionSQL
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
string strSQL="";
SqlConnection conn = null ;
SqlCommand cmd=null ;
try
{
strSQL = "Server=111.111.111.111;Database=111;User id=11111;PWD=1111";//本处IP等作了打乱
conn = new SqlConnection(strSQL);
cmd = new SqlCommand();
cmd.Connection = conn;
conn.Open();
strSQL = "select * from tb_City";
cmd.CommandType=CommandType.Text;
cmd.CommandText = strSQL;
if(conn.State==ConnectionState.Open)
{
//sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
SqlDataReader dr=cmd.ExecuteReader(CommandBehavior.CloseConnection);
dr.Read();
MessageBox.Show(dr[1].ToString() + "/" + dr[2].ToString() + "/" + dr[3].ToString() + "/" + dr[4].ToString());
if (!dr.IsClosed) { dr.Close(); }
}
}
catch (Exception ex)
{
if (conn.State == ConnectionState.Open) { conn.Close(); }
throw ex;
}
}
}
}

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧