“.“ 和 “127.0.0.1“ 在 SQL Server 连接中的差异和解决方法

本文解释了在SQLServer连接中使用.和127.0.0.1的区别。.代表本地默认实例,而127.0.0.1是本地回环地址,可能导致网络通信问题。解决方法涉及检查网络配置、防火墙设置和SQLServer的远程连接配置,确保允许使用127.0.0.1进行连接。
摘要由CSDN通过智能技术生成

“.” 和 “127.0.0.1” 在 SQL Server 连接中的差异和解决方法

        public List<string> GetDatabasesOnDevice(string deviceIp, string username, string password)
        {
            List<string> databaseNames = new List<string>();

            try
            {
                // 构建连接字符串
                string connectionString = $"Password={password};User ID={username};Data Source={deviceIp}";

                // 创建连接对象
                using (SqlConnection connection = new SqlConnection(connectionString))
                {
                    // 打开数据库连接
                    connection.Open();

                    // 查询所有数据库的命令
                    SqlCommand command = new SqlCommand("SELECT name FROM sys.databases", connection);

                    // 执行命令并读取结果
                    using (SqlDataReader reader = command.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            string databaseName = reader.GetString(0);
                            databaseNames.Add(databaseName);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine($"获取数据库失败:{ex.Message}");
            }

            return databaseNames;
        }

在使用这个方法时,我发现deviceIp="."和deviceIp="127.0.0.1"是不同的,使用“.”就不会报错,使用“127.0.0.1”就会报错;故有以下文章:
在 SQL Server 连接过程中,使用 “.” 和 “127.0.0.1” 这两个值可能会导致不同的结果和问题。本文将解释这两个值的含义和用途,并提供解决方法以处理可能出现的连接问题。

“.” 表示本地实例:

当使用 “.” 作为连接字符串的服务器名称时,它代表本地计算机上的 SQL Server 实例。这是一种简便的方式,用于连接正在运行的默认本地实例。
使用 “.” 进行连接时,不需要指定 IP 地址或主机名,系统将自动连接到本地计算机上的 SQL Server 实例。
“127.0.0.1” 代表本地回环地址:

“127.0.0.1” 是本地回环地址,也称为环回地址或回送地址。它是每个计算机上用于自我通信的特殊 IP 地址。
当使用 “127.0.0.1” 作为连接字符串的服务器名称时,它尝试通过网络连接到本地计算机上的 SQL Server 实例。
差异和解决方法:

1、网络配置:

使用 “.” 进行连接时,它直接连接到本地计算机上的 SQL Server 实例,不涉及网络通信。
使用 “127.0.0.1” 进行连接时,它需要进行网络通信,并通过网络协议进行连接。因此,确保网络配置正确且允许通过 “127.0.0.1” 进行连接。

2、防火墙设置:

防火墙可能阻止通过 “127.0.0.1” 进行的网络连接。请检查防火墙设置,确保允许 SQL Server 使用 “127.0.0.1” 进行连接。

3、SQL Server 远程连接配置:

SQL Server 可能未配置为允许远程连接或仅允许通过本地连接。
使用 SQL Server 配置管理器,检查 SQL Server 实例的网络配置和协议设置,确保允许远程连接和使用 “127.0.0.1” 进行连接。
综上所述,使用 “.” 和 “127.0.0.1” 进行 SQL Server 连接时,需要考虑网络配置、防火墙设置和 SQL Server 的远程连接配置。通过确保这些设置正确配置,您应该能够成功连接到 SQL Server 实例。
具体方法:
检查 SQL Server 远程连接配置:

1.打开 SQL Server 配置管理器。

按下 Win + R 键打开运行对话框。
输入 sqlservermanager<版本号>.msc,其中 <版本号> 是您安装的 SQL Server 版本号,例如 sqlservermanager14.msc 表示 SQL Server 2017 的配置管理器。以下是一些常见的版本号示例:
SQL Server 2019:sqlservermanager15.msc
SQL Server 2017:sqlservermanager14.msc
SQL Server 2016:sqlservermanager13.msc
SQL Server 2014:sqlservermanager12.msc
SQL Server 2012:sqlservermanager11.msc
SQL Server 2008:sqlservermanager10.msc
按下 Enter 键或单击 “确定” 按钮打开 SQL Server 配置管理器。
打开 SQL Server 配置管理器后,您将能够管理和配置 SQL Server 实例的各种设置,包括网络配置和协议设置。

请注意,确保使用管理员权限运行打开 SQL Server 配置管理器的命令或运行对话框。如果您没有管理员权限,可能无法打开 SQL Server 配置管理器。

2.在左侧面板中,选择 “SQL Server 网络配置”。
3.选择 “协议”,然后确保 “TCP/IP” 协议已启用。
4.右键单击 “TCP/IP” 协议,选择 “属性”。
5.在 “IP 地址” 选项卡中,确保针对需要使用的 IP 地址(如 127.0.0.1)的行,“启用” 字段设置为 “是”。
6.在 “IP 地址” 选项卡中,确保针对需要使用的 IP 地址的行,“TCP 端口” 字段设置为 SQL Server 监听的端口号(默认为 1433)。
7.确保在 “IP 地址” 选项卡中没有其他冲突的 IP 地址。

请注意,如果您在连接过程中遇到问题或错误信息,请仔细检查错误消息以获取更多详细信息,并根据具体情况调整网络和配置设置。如有需要,您还可以参考 SQL Server 文档或咨询相关技术支持,以获取更多帮助和指导。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值