答案:你可写个程序,数据库连接的是远程的,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