实现纯真IP txt转mdb数据库的方法

纯真ip数据库转动网数据库ASP脚本

去纯真网站上下载ip数据库,同时随数据库附送的查询程序(Showip.exe)具有在线检测并升级IP数据库的功能,只要运行该程序,点击右上角的
“在线升级”,就可以升级IP数据库到最新的版本,无需再到下载网站下载新版的IP数据库。

同时查询程序(Showip.exe)还提供了解压为.txt文件的功能:)
我们就借助这一功能实现转MDB格式的数据库。

第一步:打开查询程序(Showip.exe),点击解压

第二步:保存导出的数据文本为ipaddress.txt,提示成功后,确定关闭。

第三步:新建一个MDB文件,命名为ipaddress.mdb,点击打开,使用Access提供的导入文本文件的功能,把刚才导出的ipaddress.txt导入到数据库中。

第四步:导入文本向导:
      1、选择[带分隔符-用逗号或制表符之类的符号分隔每个字段]选项
      2、下一步:选择空格作为分隔符;
      3、下一步:新表中;
      4、下一步:第一字段,不做任何修改,默认下一步;
      5、下一步:定义主键:选择不要主键;
      6、下一步:默认ipaddress表名,完成。

第五步:建立动网格式的数据表ipaddress2

id      自动编号(可以不要)
        ip1     双精度数据
        ip2     双精度数据
        country 文本 100字节
        city    文本 255字节
关闭数据库。

第六步:在ASP环境下运行ip.ASP

第七步:此时的数据库非常大,为了能够小一些:(,建立一个新的空数据库,把原数据库中ipadress2导入。^!^

以后的应用我就不说了。~~~

重要的脚本部分:

代码如下:

<% 
Server.ScriptTimeOut=999 
min=0 ''开始数 
max=260262''结束数 数据数量-1 
Dim Conn 
Set Conn= Server.CreateObject("ADODB.Connection") 
Conn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=01;Data Source="& Server.MapPath("ipaddress.mdb") 
Conn.Open 
If Err Then 
 Err.Clear 
 Set Conn = Nothing 
 Response.Write("<head><meta http-equiv=""Content-Type"" content=""text/html; charset=gb2312"" /><title>数据库连接出错,请检查连接字串</title></head><body><div align=""center"" style=""width:400px;height:100px;padding: 8px;font-size:9pt;border: 1px solid ThreeDShadow;POSITION:absolute;top:expression((document.body.offsetHeight-100)/2);left:expression((document.body.offsetWidth-400)/2);""><table width=""100%"" height=""100%"" style=""font-size:12px;font-family:Tahoma;""><tr><td align=""center""><strong>数据库连接出错,请检查连接字串</strong></td></tr></table></div></body>") 
 Response.End 
End If

set rs=conn.execute("select * from [ipaddress]")

if not rs.eof then

first=rs.GetRows()

for j=0 to 261501

z="" 
local=""

for i=0 to 16 
if len(first(i,j))>0 then 
z=first(i,j)&"$$"&z 
end if 
next

zz=split(z,"$$") 
startip=enaddr(zz(ubound(zz)-1)) 
endip=enaddr(zz(ubound(zz)-2)) 
country=zz(ubound(zz)-3) 
for zzz=0 to ubound(zz)-4 
local=zz(zzz)&" "&local 
next 
local=replace(local,"'","''") 
'response.write "startip:"&startip&"<br>endip:"&endip&"<br>country:"&country&"<br>local:"&local&"<br><br>" 
conn.execute("insert into [ipaddress2] (ip1,ip2,country,[city]) values ("&startip&","&endip&",'"&country&"','"&local&"')") 
next 
end if 
conn.execute("update [ipaddress2] set [city]='--' where [city]='CZ88.NET' ") 
response.write "升级成功!" 
function enaddr(sip) 
 esip=cstr(sip) 
 str1=Left(sip,CInt(InStr(sip,".")-1)) 
 sip=Mid(sip,cint(instr(sip,"."))+1) 
 str2=Left(sip,cint(instr(sip,"."))-1) 
 sip=mid(sip,cint(instr(sip,"."))+1) 
 str3=left(sip,cint(instr(sip,"."))-1) 
 str4=mid(sip,cint(instr(sip,"."))+1) 
 enaddr=cint(str1)*256*256*256+cint(str2)*256*256+cint(str3)*256+cint(str4)-1 
end function 
%>

(0)

相关推荐

  • 实现纯真IP txt转mdb数据库的方法

    纯真ip数据库转动网数据库ASP脚本 去纯真网站上下载ip数据库,同时随数据库附送的查询程序(Showip.exe)具有在线检测并升级IP数据库的功能,只要运行该程序,点击右上角的 "在线升级",就可以升级IP数据库到最新的版本,无需再到下载网站下载新版的IP数据库. 同时查询程序(Showip.exe)还提供了解压为.txt文件的功能:) 我们就借助这一功能实现转MDB格式的数据库. 第一步:打开查询程序(Showip.exe),点击解压 第二步:保存导出的数据文本为ipaddres

  • 3步搞定纯真IP数据导入到MySQL的方法详解

    前提: 你会用vi. 很明显,本文是在Linux下测试通过的.本文用的是MySQL命令行工具,如果你不会,用phpMyAdmin应该也可以. 第1步: 下载纯真IP数据,解压存成ip.txt. 详解:这一步不用详解了吧.如果你这一步都不会,下面就不用看了. 第2步: 用vi 编辑 ip.txt. # vi ip.txt 在vi界面下输入如下命令: :%s/\s\+/;/ 一共重复输入3次. 存盘退出: :wq 详解:ip.txt有4列.分别是起始ip,结束ip,地区,说明.列之间用不等数量的空格

  • 在Linux中通过Python脚本访问mdb数据库的方法

    在 linux 系统中连接 mdb 数据库,直接连接的话,mdb 默认的驱动无法识别非 windows 的路径, 所以不能使用常规的连接方式 DRIVER={Microsoft Access Driver (*.mdb)};DBQ=c:\\dir\\file.mdb 安装 这里我们需要借助一些库来实现第三方的驱动 我们需要安装这些包:mdbtools, unixODBC, libmdbodbc 如果是支持 deb 的系统中,如果不能找到 libmdbodbc ,将以下路径加入到软件源列表中 de

  • Python实现一个转存纯真IP数据库的脚本分享

    前言 之前写过很多关于扫描脚本的文章,一直都没写自己的扫描IP段是哪里搞来的,也会有朋友经常来问一些扫描经验,说实话我觉得这个工具并没有实际的技术含量,但是能提高工作效率,就共享出来给大家耍耍- 谈到扫描经验,我个人通常都会针对不同的设备,不同的应用选择不同类型的段. 比如我现在扫描的目标是一款电信光猫,那自然是选择电信的IP段,光猫一般是家庭用户,我们筛选下家庭用户的活跃IP段,这样我们就有针对性了. 再比如我现在想扫一款企业路由设备,那么我就可以选择企业公司多的段. 纯真IP真心是个不错的工

  • python访问纯真IP数据库的代码

    核心代码: #!/usr/bin/env python # -*- coding: utf-8 -*- from bisect import bisect _LIST1, _LIST2 = [], [] _INIT = False ip2int = lambda ip_str: reduce(lambda a, b: (a << 8) + b, [int(i) for i in ip_str.split('.')]) def _init(): global _LIST, _INIT if no

  • asp.net下将纯真IP数据导入数据库中的代码

    纯真IP数据包含381085条,可以通过下载的查询软件将数据解压为文本格式,并将其编码改为UTF8,否则在程序中读取中文会乱码! 下面为程序执行分析IP数据并插入到Sql Server的截图: 程序通过AJAX在客户端进行数据插入实时更新: 实现代码如下: 前端页面及javascript: 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.or

  • 读取纯真IP数据库的公用组件接口QQWry.NET

    这是一个读取纯真IP数据库的公用组件接口,我是通过luma的<纯真IP数据库格式详解>了解了纯真IP数据库数据格式,并且基于网络上的一个IPLocation.dll源码的基础改编而来.我为什么要改编这个组件呢?因为我看到这个组件在使用过程中,每次都要打开文件流,并且整个接口使用静态的属性.并不适合Web环境下,多线程并发查询的需求,并且在性能上也不是最优.有了luma的格式详解,和现有的IPLocation.dll的源码,使我的工作变得异常的简单.出现的一个小错误,也是经过一次调试后就解决了.

  • PHP获取IP地址所在地信息的实例(使用纯真IP数据库qqwry.dat)

    如下所示: <?php $data = '254.254.254.254'; echo ip2long($data); function getIP() { if(getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown")) $ip = getenv("HTTP_CLIENT_IP"); elseif(getenv

  • 纯真IP数据库格式图文详解

    摘要 网络上的IP数据库以纯真版的最为流行,LumaQQ也采用了纯真版IP数据库做为IP查询功能的基础.不过关于其格式的文档却非常之少,后来终于在网上找到了一份文档,得以了解其内幕,不过那份文档寥寥数语,也是颇为耐心才读明白.在这里我重写一份,以此做为LumaQQ开发者文档的一部分,我想还是必要的.本文详细介绍了纯真IP数据库的格式,并且给出了一些Demo以供参考. Luma, 清华大学修改日期: 2005/01/14 Note: 在此感谢纯真IP数据库作者金狐和那唯一一份文档的作者. 修改历史

  • Discuz 5.0 中读取纯真IP数据库函数分析

    Discuz  5.0 不在使用自己的IP数据,而是使用纯真IP的数据格式, 存取纯真IP数据库稍微有点麻烦,它的存储格式比较特殊也很有趣,具体的格式分析参考下面两个链接,其他语言实现参考文章末的链接. <纯真IP数据库格式详解> 链接一:http://blog.csdn.net/heiyeshuwu/archive/2006/05/12/725675.aspx 链接二:http://lumaqq.linuxsir.org/article/qqwry_format_detail.html 纯真

随机推荐