
你这种数据结构的话,应该先把IP地址转换成数值,才能用 数值 比较查询。
IP协议规定IP总长度是32位的,所以每组是8位
如果我们把ip地址看成 abcd,那么转成IP数值就是
d2的0次方 + c2的8次方 + b2的16次方 + a2的24次方
为了实现IP 字符串转换成数值,要建一个函数。
if exists (select from dbosysobjects where id = object_id(N'[dbo][f_IP2Int]') and xtype in (N'FN', N'IF', N'TF'))
drop function [dbo][f_IP2Int]
GO
-- 字符串IP地址转换成IP数值函数。
CREATE FUNCTION dbof_IP2Int(
@ip char(15)
)RETURNS bigint
AS
BEGIN
DECLARE @re bigint
SET @re=0
SELECT @re=@re+LEFT(@ip,CHARINDEX('',@ip+'')-1)ID
,@ip=STUFF(@ip,1,CHARINDEX('',@ip+''),'')
FROM(
SELECT ID=CAST(16777216 as bigint)
UNION ALL SELECT 65536
UNION ALL SELECT 256
UNION ALL SELECT 1)a
RETURN(@re)
END
GO
查询语句中就可以用这个函数了
select address
from IP_table
where f_ip2int(IP_address) beween f_ip2int(IP_start) and f_ip2int(IP_end)
利用sql语句-获取服务器ip的方法
SELECT local_net_address 服务器IP地址,local_tcp_port AS 服务端口,client_net_address AS 客户端IP地址
FROM sysdm_exec_connections
WHERE session_id = @@SPID
此脚本适用于SQL2005及以上版本
c# 远程连接数据库SQL
远程连接有点复杂,首先要保证客户端与SQL服务器连接
步骤:
一 看ping 服务器IP能否ping通。
这个实际上是看和远程sql server 2000服务器的物理连接是否存在。如果不行,请检查网络,查 看配
置,当然得确保远程sql server 2000服务器的IP拼写正确。
二 在Dos或命令行下输入telnet 服务器IP 端口,看能否连通。
如telnet 202114100100 1433
通常端口值是1433,因为1433是sql server 2000的对于Tcp/IP的默认侦听端口。如果有问题,通常这
一步会出问题。通常的提示是“……无法打开连接,连接 失败"。
如果这一步有问题,应该检查以下选项。
1 检查远程服务器是否启动了sql server 2000服务。如果没有,则启动。
2 检查服务器端有没启用Tcp/IP协议,因为远程连接(通过因特网)需要靠这个协检查方法是,在服
务器上打开开始菜单->程序->Microsoft SQL Server->服务器网络实用工具,看启用的协议里
是否有tcp/ip协议,如果没有,则启用它。
3 检查服务器的tcp/ip端口是否配置为1433端口。仍然在服务器网络实用工具里查看启用协议里面的
tcp/ip的属性,确保默认端口为1433,并且隐藏服务器复选框 没有勾上。
事实上,如果默认端口被修改,也是可以的,但是在客户端做telnet测试时,写服务器端口号时必须
与服务器配置的端口号保持一致。如果隐藏服务器复选框被勾 选,则意味着客户端无法通过枚
举服务器来看到这台服务器,起到了保护的作用, 但不影响连接,但是Tcp/ip协议的默认端口将被
ip 信息 是有存数据库的,你知道数据库的信息呢? 如下:
select ip,count(ip) ipCount from table_name group by ip order by ip desc
以上就是关于SQL语句查询IP段全部的内容,包括:SQL语句查询IP段、sql server 已经连上远程连接服务器数据库 ,怎么查看连接服务器的IP地址、sql server服务器ip怎么查看等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)