繁体中文
设为首页
加入收藏
当前位置:ASP技术首页 >> FSO专题 >> 将本地数据表或库上传并导入到服务器数据库的表中

将本地数据表或库上传并导入到服务器数据库的表中

2006-08-15 08:00:00  作者:  来源:互联网  浏览次数:0  文字大小:【】【】【
简介:  '函数名:ReadCdbToServ '作 用:将本地数据表或库上传并导入到服务器数据库的表中 '参 数:CdbFileUp ---- 被上传的库或表文件路径及文件名 '参 数:SdbConnStr ---- 服务器数据库链接字串 '参 数:Sd...

  '函数名:ReadCdbToServ

'作 用:将本地数据表或库上传并导入到服务器数据库的表中

'参 数:CdbFileUp ---- 被上传的库或表文件路径及文件名

'参 数:SdbConnStr ---- 服务器数据库链接字串

'参 数:SdbTbname ---- 服务器将打开的表名

'参 数:FildStrArr ---- 导入的数据字段串(各字段用","隔开)

'返回值:成功返回 True 否则 False

'注可导入的文件类型有(0:Excel 1:Access 2:Text 3:DBF/FoxPro)

'注:Excel 的表为Sheet名称,文本及DBF/FoxPro的表名为数据文件的全名,如 aa.txt 或 aa.dbf

'注:Text 文本数据表是以","为分隔的格式 ,重点:被导入的数据库只能包含一个表,并且导入的字段应和服务器数据库的表相一致

'示 例: CALL ReadCdbToServ(TempSj,"DRIVER=SQL Server;UID=sa;DATABASE=temp;SERVER=127.0.0.1;PWD=mzy1029;","img","mc,lx,mem")

'示 例: Response.write ""

'**************************************************''''

Public Function ReadCdbToServ(ByVal CdbFileUp,ByVal SdbConnStr,ByVal SdbTbname,ByVal FildStrArr)

ReadCdbToServ=False

Dim MbDir,Mbwjmc,aryTemp,VrCdb_Conn_Str,ofu_Conn,ofu_Rs,sfu_Conn,sfu_Rs,ofu_sql_str,sfu_sql_str,oaryTemp,TpTrs,Gtlx,CdbTbname

VrCdb_Conn_Str=""

MbDir=Readsyspath(1)

If Right(MbDir,1)"\" Then MbDir=MbDir&"\"

Mbwjmc=CdbFileUp

aryTemp = Split(Mbwjmc,"\")

Mbwjmc=aryTemp(UBound(aryTemp))

aryTemp=Split(Mbwjmc,".")

Gtlx=UCase(aryTemp(UBound(aryTemp)))

If UpFsRn(100,MbDir,"temp."&Gtlx) Then

If Gtlx="XLS" Then VrCdb_Conn_Str ="Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=Excel 8.0;Data Source="&MbDir&"temp."&Gtlx&";" '' Excel [Tbname$]

If Gtlx="MDB" Then VrCdb_Conn_Str ="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&MbDir&"temp."&Gtlx&";Jet OLEDB:Database Password=;" '' Access

If Gtlx="TXT" Then VrCdb_Conn_Str ="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&MbDir&";Extended Properties='text;HDR=Yes;FMT=Delimited'" '' Text(,分割)

If Gtlx="DBF" Then VrCdb_Conn_Str ="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&MbDir&";Extended Properties=dBASE IV;User ID=Admin;Password=" '' DBF/FoxPro

Set sfu_Conn=server.createobject("ADODB.Connection")

Set sfu_Rs =server.createobject("ADODB.Recordset")

sfu_Conn.open SdbConnStr

sfu_sql_str="select "&FildStrArr&" from "&SdbTbname

Set ofu_Conn=server.createobject("ADODB.Connection")

Set ofu_Rs =server.createobject("ADODB.Recordset")

ofu_Conn.open VrCdb_Conn_Str

Set TpTrs=ofu_Conn.OpenSchema(20)

CdbTbname=TpTrs(2)

TpTrs.Close

Set TpTrs = Nothing

If Gtlx="XLS" Then CdbTbname="["&CdbTbname&"]"

ofu_sql_str="select "&FildStrArr&" from "&CdbTbname

oaryTemp = Split(FildStrArr,",")

sfu_Rs.open sfu_sql_str,sfu_Conn,1,3

ofu_Rs.open ofu_sql_str,ofu_Conn,1,3

Do While Not ofu_Rs.Eof

sfu_Rs.addnew

For i = LBound(oaryTemp) To UBound(oaryTemp)

sfu_Rs(oaryTemp(i))=ofu_Rs(oaryTemp(i))

Next

sfu_Rs.update

ofu_Rs.MoveNext

Loop

ofu_Rs.Close

ofu_Conn.Close

Set ofu_Rs = Nothing

Set ofu_Conn=Nothing

sfu_Rs.Close

sfu_Conn.Close

Set sfu_Rs = Nothing

Set sfu_Conn=Nothing

ReadCdbToServ=True

DelFile(MbDir&"temp."&Gtlx)

End If

End Function

责任编辑:admin
相关文章