LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

通过asp程序实现批量access数据库导入到sql server数据库中

admin
2012年1月31日 9:5 本文热度 2607
比如access数据库中有a,b,c三个字段,总共有10条数据,可直接通过asp程序一次性批量导入到sql server数据库中
 

方法一:先将access数据库中的字段绑定到datagrid再将字段插入sql server数据库
 
设conn1连接ACCESS,conn2连接SQLServer,在SQLServer数据库中已建好与ACCESS数据库相同表名
 
set rs=conn1.execute "select * from 表名"
do while not(rs.eof or rs.bof)
conn2.execute "insert into 表名(a,b,c) values("&rs("a")&","&rs("b")&","&rs("c"))
rs.movenext
loop
 

方法二:没办法直接导入,但是可以先建立与access数据库连接
 
从access表中读出数据,存在一个数据集里,然后再建立与sql数据库的连接,把数据集里的数据一条条插入到sql的目标表中
 
当然,这个表必须事先建立
 
要注意的是两个表之间如果字段类型不同,在插入数据时要注意转换类型。
 

函数
Function   ImportData(strTableName,objConnSource,objConnDestination)    
   
dim   nFieldCount,   iLoop  
dim   rsSource  
dim   rsDestination  
dim   strSQL  
dim   strFuncMessage  
   
set   rsSource   =   CreateObject("ADODB.RecordSet")  
set   rsDestination   =   CreateObject("ADODB.RecordSet")  
   
strFuncMessage   =   ""  
strSQL   =   "select   *   from   "   &   strTableName  
on   error   resume   next  
rsSource.open   strSQL,   objConnSource,adOpenStatic,adLockOptimistic
 
if   err.number   <>   0   then
ImportData   =   -1  
exit   function  
end   if
 
if   objConnSource.Errors.Count   >   0   then  
strFuncMessage   =   strFuncMessage   &   "<br>Message:   ["   &   strTableName   &   "]   Not   found!"  
rsSource.Close  
set   rsSource   =   nothing  
ImportData   =   -1    
else  
strMessage   =   strMessage   &     "<br>Message:Table["   &   strTableName   &   "]   found!   "    
end   if  
   
nFieldCount   =   rsSource.Fields.Count  
redim   preserve   arrFieldNameList(nFieldCount)  
For   iLoop   =   0   to   nFieldCount   -   1  
arrFieldNameList(iLoop)   =   rsSource.Fields(iLoop).Name  
Next  
   
strSQL   =   "delete   from   "   &   strTableName  
objConnDestination.Execute(strSQL)  
strFuncMessage   =   strFuncMessage   &   "<br>Message:   Delete   ["   &   strTableName   &   "]"    
   
rsDestination.Open   strTableName,   objConn,adOpenStatic,adLockPessimistic,   adCmdTable  
   
Do   while   not   rsSource.Eof  
rsDestination.AddNew  
For   iLoop   =   0   to   nFieldCount-1  
rsDestination(arrFieldNameList(iLoop))   =   rsSource(arrFieldNameList(iLoop))  
Next  
RsDestination.Update  
rsSource.MoveNext  
Loop
   
rsSource.Close  
set   rsSource   =   nothing  
rsDestination.Close  
strSQL   =   "select   product_id   from   "   &   strTableName  
rsDestination.Open   strSQL,   objConnSource,adOpenStatic,adLockOptimistic  
iLoop   =   rsDestination.RecordCount    
rsDestination.Close  
set   rsDestination   =   nothing  
ImportData   =   iLoop  
end   function

该文章在 2012/1/31 9:05:21 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved