服务器之家

服务器之家 > 正文

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

时间:2019-10-13 12:56     来源/作者:asp教程网

纯真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  
%> 

标签:

相关文章

热门资讯

玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情 2019-06-22
抖音撒撒累累是什么歌 撒撒累累张艺兴歌曲名字
抖音撒撒累累是什么歌 撒撒累累张艺兴歌曲名字 2019-06-05
超A是什么意思 你好a表达的是什么
超A是什么意思 你好a表达的是什么 2019-06-06
返回顶部