导读:
博客园 首页 新随笔 联系 管理 订阅
珊瑚虫IP数据库转 SQL 2005 纯真IP转sql
首先需要准备:
最新的珊瑚虫IP数据库 http://update.cz88.net/soft/qqwry.rar
Microsoft Office Access 2003
EiditPlus
MS SQL2005
1.然后打开珊瑚虫IP数据库自带的 ShowIP.exe,选择解压,另存一个TXT文件:
3.打开Access(为什么不直接到SQL里面导入数据呢?因为会出现文本格式错误,所以先曲线救国吧):
4.选择刚才解压出来的文本文件:
5.按下面操作,不做提示的直接下一步:
7.打开MS SQL2005,新建一个数据库,名字自己定,以下代码都使用[BasName]代替你新建数据库名称。
8.继续如下操作:
完成执行下面的存储过程:
-- 建立IP转换到十进制方法
USE [BasName]
GO
/*
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================-- Create date: <create date>-- Description: 转换IP为十进制-- ============================================= <br> Create FUNCTION [dbo].[X16ToDe]( <br> @Old_IP nvarchar(<strong>15</strong>) <br> )RETURNS numeric <br> BEGIN DECLARE @CharIndex INT, <br> @CurrPoint INT, <br> ), <br> @Cache numeric <br> SET @CharIndex = <strong>1</strong> SET @CurrPoint = CHARINDEXSET @SingleValue = SUBSTRING(@Old_IP,@CharIndex,@CurrPoint - @CharIndex@SingleValue as numeric)*<strong>16777216</strong> SET @CharIndex = @CurrPoint + <strong>1</strong>('.',@Old_IP,@CharIndex) <br> SET @SingleValue = SUBSTRING(@Old_IP,) <br> SET @Cache = @Cache + cast(@SingleValue as numeric)*<strong>65536</strong> SET SET @CurrPoint = CHARINDEX('.',@Old_IP,@CharIndex) <br> SET @CharIndex,@CurrPoint - @CharIndex) <br> SET @Cache = @Cache + cast(SET @CharIndex = @CurrPoint + <strong>1</strong> SET @SingleValue = SUBSTRING(@Old_IP@CharIndex + <strong>1</strong>)SET @Cache = @Cache + cast(@SingleValue as numeric) <br><br>本文转自 <br><a href="http://www.cnblogs.com/DavidLc/archive/2008/04/05/1138676.html">http://www.cnblogs.com/DavidLc/archive/2008/04/05/1138676.html</a></create>