unity3d连接sqlserver ,SocketException: 由于目标计算机积极拒绝,无法连接。


问题前言

释放:困扰了我一天的问题终于解决了。。。。。
问题:用unity3d 2020 连接SqlServer时,一直提示SocketException: 由于目标计算机积极拒绝,无法连接,根据网上所述的解决方法(链接地址:https://blog.csdn.net/dingjia7050/article/details/102262690),修改了以后,任然不能成功的链接我的数据库。经过百般折磨,终于成功了,由于对着之间的原理不懂,只是记录一下我是做了哪些工作才使我的链接成功。下面见分晓…


一、首先看IP地址和端口

unity3d连接sqlserver,网上很多代码啊所用的IP都是127.0.0.1,我尝试了这个,连接脚本为:

string connectionString = "Data Source=127.0.0.1;DataBase=QuarryED_DB;uid=sa;pwd=sa123456;";
SqlConnection con = new SqlConnection();
con.ConnectionString = connectionString;
try
{
	con.Open();
	print("连接成功!");
	con.Close();
}
catch
{
	print("连接失败!");
	throw;
}

但是不成功,报错如下
在这里插入图片描述
由此,只是用IP地址不可,还要端口。摸索了好久没找到端口,但是在偶尔的情况下,找到一个端口,就是 通过 开始—Microsoft SQL Server 2014—SQL Server 2014配置管理器—MR2014的协议(安装sql时没设置的话应该是MSSQLSERVER),,然后右边窗口有个TCP/IP协议,右键点击,打开属性-IP地址,将所有的IP都设置为启用外,记录下最后那个动态端口,我的是61306。

在这里插入图片描述
至此,IP地址和端口都知道了,能不能成功,试试就知道了,…
我以为不会成功,但是居然成功了,哭了,因为除了上述步骤,我还做了另外一个工作…,见下。。
Tips:如果 server=localhost ,连接不成功的话,尽量往 IP地址+端口 上面靠,如我总结里面的脚本一样。

二、另外一个工作(可能有用)

就是打开 服务.exe 里面的 SQL server 代理(MR2014),将类型调为自动,然后点击启动,然后确定。O了。但是后面我返回去将这个调为手动,也是没问题的,所以这个当白做了,先做个记录吧,万一哪天不行了呢,又来调整了试试。
在这里插入图片描述

总结

最终算是连接成功了,也能获取到我数据库的数据,目前看来,最大的原因就是Data Source或者server的值没有设置清楚。经过一天的琢磨加到处尝试摸索,后面就不说了,看我最终的代码。。。
using UnityEngine;
using System.Data.SqlClient;
public class SQLConnectTest : MonoBehaviour
{
    void Start()
    {
        string connectionString = "Data Source=127.0.0.1,61306;DataBase=QuarryED_DB;uid=sa;pwd=sa123456;";
        SqlConnection con = new SqlConnection();
        con.ConnectionString = connectionString;
        try
        {
            con.Open();
            print("连接成功!");
            con.Close();
        }
        catch
        {
            print("连接失败!");
            throw;
        }
    }
}
  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值