广告
返回顶部
首页 > 资讯 > 数据库 >如何用SQL Server 2005存储过程实现IP地址归属地查询
  • 218
分享到

如何用SQL Server 2005存储过程实现IP地址归属地查询

2024-04-02 19:04:59 218人浏览 泡泡鱼
摘要

这篇文章主要介绍“如何用SQL Server 2005存储过程实现IP地址归属地查询”,在日常操作中,相信很多人在如何用sql Server 2005存储过程实现IP地址归属地查询问题上存在疑惑,小编查阅了

这篇文章主要介绍“如何用SQL Server 2005存储过程实现IP地址归属地查询”,在日常操作中,相信很多人在如何用sql Server 2005存储过程实现IP地址归属地查询问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何用SQL Server 2005存储过程实现IP地址归属地查询”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

  1、用C#来做DLL,代码如下:

usingSystem;usingSystem.Collections.Generic;usingSystem.Text;usingSystem.Data.SqlTypes;usingSystem.Data.SqlClient;usingMicrosoft.SqlServer.Server;publicclassAddrInfo[Microsoft.SqlServer.Server.SqlProcedure]publicstaticvoidgetAddrInfo(SqlStringip,outSqlStringinfo)using(SqlConnectionconnection=newSqlConnection("contextconnection=true"))//IP地址转为数字string[]tmp=ip.Value.Split(newstring[]{"."},StringSplitOptions.None);Int64ipn=ToInt(ToBinary(tmp[0])+ToBinary(tmp[1])+ToBinary(tmp[2])+ToBinary(tmp[3]));connection.Open();SqlCommandcmd=newSqlCommand();cmd.Connection=connection;cmd.CommandType=System.Data.CommandType.Text;cmd.CommandText="selectaddr_infofromCZIPwhereipn1<="+ipn.tostring()+"andipn2>="+ipn.ToString();SqlDataReaderdr=cmd.ExecuteReader();using(dr)if(dr.Read())info=dr.GetString(0);elseinfo="<无归属地数据>";}}//////INT32转为二进制字符串/////////privatestaticStringToBinary(stringnum)intpiNumber=Int32.Parse(num);stringstrBinary="";intiTmp;doiTmp=piNumber%2;strBinary=iTmp.ToString()+strBinary;piNumberpiNumber=piNumber/2;}while(piNumber!=0);returnstrBinary.PadLeft(8,'0');}////////////privatestaticlongToInt(stringpStrBinary)char[]charArr=pStrBinary.ToCharArray();longiReturnValue=0;intiPow=0;for(inti=0;i

  怎样用SQLServer2005存储过程实现IP地址归属地查询

  2、将编译后的DLL放到SQLSERVER2005所在的服务器上,假设路径为c:\clr\ipLib.dll以下方法注册程序集。

CREATEASSEMBLY[ipLib]FROM'c:\clr\ipLib.dll'

  3、创建存储过程

CREATEPROCEDUREget_ip_addr_info@ipnvarchar(20),@infonvarchar(500)OUTPUTASEXTERNALNAMEipLib.AddrInfo.getAddrInfo

  之后你就可以看到名为get_ip_addr_info的存储过程,调用方法与普通T/SQL存储过程相同。

到此,关于“如何用SQL Server 2005存储过程实现IP地址归属地查询”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

您可能感兴趣的文档:

--结束END--

本文标题: 如何用SQL Server 2005存储过程实现IP地址归属地查询

本文链接: https://www.lsjlt.com/news/60941.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何用SQL Server 2005存储过程实现IP地址归属地查询
    这篇文章主要介绍“如何用SQL Server 2005存储过程实现IP地址归属地查询”,在日常操作中,相信很多人在如何用SQL Server 2005存储过程实现IP地址归属地查询问题上存在疑惑,小编查阅了...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作