Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Excel Driver]常见错误 不能打开注册表关键字 'Temporar

红色银狐 2005-09-09 02:52:12
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)<BR>[Microsoft][ODBC Excel Driver]常见错误 不能打开注册表关键字 'Temporary (volatile) Jet DSN for process 0x25c Thread 0x5b4 DBC 0x11d0064 Excel'
...全文
592 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
红色银狐 2005-09-09
  • 打赏
  • 举报
回复
Option Explicit
Class Excel_Class
Private Conn
Private Rs
Private ExcelConn
Private ExcelApp
Private ExcelBook
Private ArrSheets

Private Sub Class_Initialize()
'建立数据库的连接
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=SQLOLEDB.1;Data Source=192.168.1.4;User Id=sa;Password=12345;Initial Catalog=Excel"
'建Excel对象
Set ExcelApp = Server.CreateObject("Excel.Application")
ExcelApp.DisplayAlerts = False
ExcelApp.Application.Visible = False
ExcelApp.Workbooks.Open(Server.MapPath("Book3.xls"))
Set ExcelBook = ExcelApp.ActiveWorkbook
Set ExcelConn = Server.CreateObject("ADODB.Connection")
ExcelConn.Open "Driver={Microsoft Excel Driver (*.xls)};Dbq=" & Server.MapPath("Book3.xls")
'ExcelConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("Book1.xls") & ";Persist Security Info=False"
'ExcelConn.Open "Dsn=excel"
End Sub

Private Sub Class_Terminate()
Conn.Close
Set Conn = Nothing
ExcelApp.Quit
ExcelConn.Close
Set ExcelConn = Nothing
End Sub

Public Function InserData()
'On Error Resume Next
Dim i,j
Dim SqlStr,SqlInsert
j = ExcelBook.Sheets.Count
ReDim ArrSheets(j)
For i = 1 To UBound(ArrSheets) Step 1
ArrSheets(i) = ExcelBook.Sheets(i).Name
Next
For i = 1 To UBound(ArrSheets) '開始循環所有工作表
SqlStr = "SELECT * FROM [" & ArrSheets(i) & "$]"
Response.Write SqlStr & "<br>"

Set Rs = ExcelConn.Execute(Sql)
'Set Rs = Server.CreateObject("ADODB.RecordSet")
'Rs.Open SqlStr, ExcelConn, 2, 2
If Rs.EOF = True Then
Response.Write "没有找到您需要的数据!!<br>"
Else
Response.Write "<font color=""blue"">工作表:</font><font color=""green"">" & ArrSheets(i) & "</font><br>"
Rs.MoveFirst
Do While Rs.EOF = False
'SqlInsert = "INSERT INTO ExcelData (Data1,Data2,Data3) VALUES ('" & Trim(Rs(0)) & "','" & Trim(Rs(1)) & "','" & Trim(Rs(2)) & "')"
'此处插入的值根据实际数据库结构进行调整
'Conn.Execute (SqlInsert) '插入Excel表格裏所有東東
Response.Write Rs(0) & "<br>"
Rs.MoveNext
Loop
Response.Write "<font color=""red"">恭喜,成功導出Excel文件中工作表[</font><font color=blue>" & ArrSheets(i) & "</font><font color=red>]的數據到SQL Server數據表[<font color=""blue"">ExcelData</font>]中!^_^</font><br>"
End If
Rs.Close
Set Rs = Nothing
Next '循環所有工作表結束
If Err.number <> 0 Then
InserData = 0
Exit Function
Else
InserData = 1
End If
End Function
End Class
Dim ObjExcel
Set ObjExcel = New Excel_Class
If ObjExcel.InserData = 1 Then
Response.Write "数据导入成功"
Else
Response.Write "数据导入失败"
End If
%>
life360 2005-09-09
  • 打赏
  • 举报
回复
代码最实际。代码呢?
zhurenweile 2005-09-09
  • 打赏
  • 举报
回复
数据库没有写权限
tigerwen01 2005-09-09
  • 打赏
  • 举报
回复
http://www.tongyi.net/article/20050628/200506284295.shtml

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧