导读:
博客园 首页 新随笔 联系 管理 订阅
珊瑚虫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: -- Description: 转换IP为十进制-- =============================================
Create FUNCTION [dbo].[X16ToDe](
@Old_IP nvarchar( 15)
)RETURNS numeric
BEGIN DECLARE @CharIndex INT,
@CurrPoint INT,
),
@Cache numeric
SET @CharIndex = 1 SET @CurrPoint = CHARINDEXSET @SingleValue = SUBSTRING(@Old_IP,@CharIndex,@CurrPoint - @CharIndex@SingleValue as numeric)* 16777216 SET @CharIndex = @CurrPoint + 1('.',@Old_IP,@CharIndex)
SET @SingleValue = SUBSTRING(@Old_IP,)
SET @Cache = @Cache + cast(@SingleValue as numeric)* 65536 SET SET @CurrPoint = CHARINDEX('.',@Old_IP,@CharIndex)
SET @CharIndex,@CurrPoint - @CharIndex)
SET @Cache = @Cache + cast(SET @CharIndex = @CurrPoint + 1 SET @SingleValue = SUBSTRING(@Old_IP@CharIndex + 1)SET @Cache = @Cache + cast(@SingleValue as numeric)
本文转自
http://www.cnblogs.com/DavidLc/archive/2008/04/05/1138676.html
博客园 首页 新随笔 联系 管理 订阅

珊瑚虫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: -- Description: 转换IP为十进制-- =============================================
Create FUNCTION [dbo].[X16ToDe](
@Old_IP nvarchar( 15)
)RETURNS numeric
BEGIN DECLARE @CharIndex INT,
@CurrPoint INT,
),
@Cache numeric
SET @CharIndex = 1 SET @CurrPoint = CHARINDEXSET @SingleValue = SUBSTRING(@Old_IP,@CharIndex,@CurrPoint - @CharIndex@SingleValue as numeric)* 16777216 SET @CharIndex = @CurrPoint + 1('.',@Old_IP,@CharIndex)
SET @SingleValue = SUBSTRING(@Old_IP,)
SET @Cache = @Cache + cast(@SingleValue as numeric)* 65536 SET SET @CurrPoint = CHARINDEX('.',@Old_IP,@CharIndex)
SET @CharIndex,@CurrPoint - @CharIndex)
SET @Cache = @Cache + cast(SET @CharIndex = @CurrPoint + 1 SET @SingleValue = SUBSTRING(@Old_IP@CharIndex + 1)SET @Cache = @Cache + cast(@SingleValue as numeric)
本文转自
http://www.cnblogs.com/DavidLc/archive/2008/04/05/1138676.html