实现纯真IP txt转mdb数据库的方法
程序员文章站
2023-10-27 13:59:58
纯真ip数据库转动网数据库asp脚本 去纯真网站上下载ip数据库,同时随数据库附送的查询程序(showip.exe)具有在线检测并升级ip数据库的功能,只要运行该程序,点击...
纯真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
%>
去纯真网站上下载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
%>
上一篇: IOS开发(63)之GCD执行延迟操作
下一篇: php中JSON的使用方法