ASP中文本文件與數(shù)據(jù)庫(kù)文件的數(shù)據(jù)交換
網(wǎng)絡(luò)數(shù)據(jù)庫(kù)的應(yīng)用是WWW上一個(gè)很重要的組成部分,可以這樣說(shuō),如果缺少了數(shù)據(jù)庫(kù),網(wǎng)絡(luò)也就失去了靈魂。大家可以想象一下,如果沒(méi)有象YAHOO,SOHU等搜索引擎的話,那么在網(wǎng)上尋找一個(gè)目標(biāo)變得多么困難,大家在茫茫網(wǎng)海里變得不知所往,動(dòng)輒迷失方向。其實(shí),這些搜索引擎是網(wǎng)絡(luò)數(shù)據(jù)庫(kù)的最典型的應(yīng)用,在ASP(Active Server Pages)技術(shù)里對(duì)數(shù)據(jù)庫(kù)的直接操作是比較多的,下面講述一種由文本文件向數(shù)據(jù)庫(kù)文件傳遞數(shù)據(jù)的方法。
這個(gè)文本文體是由終端采集傳送到服務(wù)器的一個(gè)固定目錄下,由服務(wù)器去讀取數(shù)據(jù)并存放在本機(jī)數(shù)據(jù)庫(kù)里,轉(zhuǎn)換完后刪除掉這個(gè)文本文件。這樣終端負(fù)責(zé)采集數(shù)據(jù),并按給定的格式上傳到服務(wù)器的指定目錄下,服務(wù)器端的數(shù)據(jù)庫(kù)對(duì)終端來(lái)講是完全不透明的,保障了服務(wù)器的安全,對(duì)現(xiàn)在的網(wǎng)絡(luò)數(shù)據(jù)庫(kù)應(yīng)用來(lái)講或許有點(diǎn)幫助。
Txttolib.asp
<html>
<head>
<meta http-equiv="refresh" content="30;url=deltext.asp">
<meta http-equiv="Content-Type"
content="text/html; charset=gb_2312-80">
<meta name="GENERATOR" content="Microsoft FrontPage Express 2.0">
<title>[把文本文件轉(zhuǎn)換成數(shù)據(jù)庫(kù)文件]</title>
</head>
<body bgcolor="#FFFFFF">
<align="center">
<p align="center"><font color="#FF0000">正在處理數(shù)據(jù),請(qǐng)稍候!
<br>
</font><font color="#000000"><align="center"><%
str=server.mappath("/") ‘取得服務(wù)器的根目錄
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFolder(str & "/thetext")
Set fc = f.Files
k=1
For Each f1 in fc
file(k)=f1.name ‘得到此路徑下的所有文件名
k=k+1
next
%><% ii=1%><%
set fs = CreateObject("Scripting.FileSystemObject")%><%
while ii<k
response.write file(ii) & "<br>"
set textinstance=fs.opentextfile(str & "/thetext/" & file(ii),1,false,false)‘打開文件來(lái)讀數(shù)據(jù)
while textinstance.atendofstream<> true ‘如果文件沒(méi)有結(jié)束
visitornum=textinstance.readline ‘讀進(jìn)一行數(shù)據(jù)
j=0
cd=len(visitornum)
for i=1 to cd
if mid(visitornum,i,1)="," then ‘?dāng)?shù)據(jù)與數(shù)據(jù)之間以“,”隔開
j=j+1
else
select case j‘分別取得各數(shù)據(jù)值
case 0
me1=me1+mid(visitornum,i,1)
case 1
me2=me2+mid(visitornum,i,1)
case 2
me3=me3+mid(visitornum,i,1)
case 3
me4=me4+mid(visitornum,i,1)
case 4
me5=me5+mid(visitornum,i,1)
case 5
me6=me6+mid(visitornum,i,1)
end select
end if