当前位置:编程学习 > C#/ASP.NET >>

asp.net程序 将本地excel文件导入远程数据库?

答案:你可写个程序,数据库连接的是远程的,Excel是本地的。就像你在本地导入Excel到数据库一样,只是你连接数据库的方式是远程连接的那种。
其他:1. 如果你可以访问远程计算机和数据库,可以考虑用DTS
2. 如果只是偶尔导入一两次,而且可以获得数据库,并且短暂down机影响不大的话,可以考虑把数据库拿下来,本地导入之后再把数据库挂上去。
3.  先把Excel文件上传之服务器后导入
    文件上传不多说。导入见代码:
    Dim cn As ADODB.Connection
    Dim strSQL As String
    Dim lngRecsAff As Long
    Set cn = New ADODB.Connection
    cn.Open "Provider=SQLOLEDB;Data Source=<server>;" & _
        "Initial Catalog=<database>;User ID=<user>;Password=<password>"

    'Import by using OPENDATASOURCE.
    strSQL = "SELECT * INTO XLImport6 FROM " & _
        "OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0', " & _
        "'Data Source=C:\test\xltest.xls;" & _
        "Extended Properties=Excel 8.0')...[Customers$]"
    Debug.Print strSQL
    cn.Execute strSQL, lngRecsAff, adExecuteNoRecords
    Debug.Print "Records affected: " & lngRecsAff

    'Import by using OPENROWSET and object name.
    strSQL = "SELECT * INTO XLImport7 FROM " & _
        "OPENROWSET('Microsoft.Jet.OLEDB.4.0', " & _
        "'Excel 8.0;Database=C:\test\xltest.xls', " & _
        "[Customers$])"
    Debug.Print strSQL
    cn.Execute strSQL, lngRecsAff, adExecuteNoRecords
    Debug.Print "Records affected: " & lngRecsAff

    'Import by using OPENROWSET and SELECT query.
    strSQL = "SELECT * INTO XLImport8 FROM " & _
        "OPENROWSET('Microsoft.Jet.OLEDB.4.0', " & _
        "'Excel 8.0;Database=C:\test\xltest.xls', " & _
        "'SELECT * FROM [Customers$]')"
    Debug.Print strSQL
    cn.Execute strSQL, lngRecsAff, adExecuteNoRecords
    Debug.Print "Records affected: " & lngRecsAff

    cn.Close
    Set cn = Nothing <%
dim conn     ’定义一个连接变量 
dim conn2        ’定义第二个连接变量 
’On Error Resume Next 
Server.ScriptTimeOut = 999999       ’超时时间 
set conn=CreateObject("ADODB.Connection") 
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=;Data Source="&Server.MapPath("Fang.mdb")  ’要导入的数据库名称,这里是Fang.mdb 

set conn2=CreateObject("ADODB.Connection") 
conn2.Open "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=;Extended properties=Excel 5.0;Data Source="&Server.MapPath("Fang.xls") ’要导入的EXCEL表名称Fang.xls 
’----------------------------------------------------------------------------------------------------------------- 
’这里要说明的是,数据库和Excel表和该文件必须在网站同一目录里 
’----------------------------------------------------------------------------------------------------------------- 
sql = "SELECT * FROM [Sheet1$]"      ’要导入的Excel数据里面的表的名称,后面一定要加$ 
set rs = conn2.execute(sql) 
while not rs.eof 
sql = "insert into zhenya([country],[mobile]) values(’"& fixsql(rs(0)) &"’,’"& fixsql(rs(1)) &"’)" 
’其中的zhenya是要导入的目标表,其后的country,mobile是zhenya表中的字段名,但是要和后面的fixsql(rs(数字))要对应! 
’response.write sql 
’response.end 
conn.execute(sql) 
rs.movenext 
Response.Write "正在插入 "&sql&"<Br>" 
’在这里输出执行的语句,可以去掉的! 
Response.Flush 
wend 


conn.close 
set conn = nothing 
conn2.close 
set conn2 = Nothing 

If Err = 0 Then 
Response.Write "导入成功" 
Else 
Response.Write "导入失败!" 
End If 

function fixsql(str) 
dim newstr 
newstr = str 
if isnull(newstr) then 
newstr = "" 
else 
newstr = replace(newstr,"’","’’") 
end if 
fixsql = newstr 
end Function 
%> 

上一个:跪求一个ASP.NET的校园新闻发布系统的毕业设计 程序 开源的 最好是加论文。跪求 邮箱 358139452@qq.com
下一个:谁有asp.net做的聊天小程序?发给我一个吧,819948087@qq.com

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,