ภายใต้สถานการณ์ปกติ asp สามารถทำงานได้ตามปกติ แต่ตราบใดที่เชื่อมต่อกับฐานข้อมูล ระบบจะแจ้งข้อผิดพลาด Microsoft JET Database Engine '80004005'
คอมพิวเตอร์ของฉันไม่สามารถทำงานได้เนื่องจากฉันใช้การประมวลผลแบบแบตช์เพื่อล้างไฟล์
1. ตรวจสอบคำสั่งการเชื่อมต่อฐานข้อมูลและไม่พบข้อผิดพลาด
2. มอบสิทธิ์ในการดูโฟลเดอร์ให้กับทุกคนแล้ว
3. เมื่อเปิดฐานข้อมูลแล้ว ระบบจะสร้างไฟล์ชั่วคราวในโฟลเดอร์ชั่วคราว %SystemRoot%/temp/ และ %
SystemRoot%/temp/ มีสิทธิ์ไม่เพียงพอ
วิธีแก้ไข: เพิ่มสิทธิ์ของ %SystemRoot%/temp/ (อ่านและเขียนชื่อ IUSER_computer)
2. หากมีข้อผิดพลาดทั่วไปที่ไม่ระบุให้มีวิธีอื่นก่อน
ที่จริงแล้วใช้เวลาเพียงไม่กี่ขั้นตอนเท่านั้น -
เริ่ม. - - วิ่ง. - - regsvr32 jscript.dll
เริ่ม. - - วิ่ง. - - regsvr32 vbscript.dll
เริ่ม. - - วิ่ง. - - ฉันรีเซ็ต
Microsoft JET Database Engine (0x80004005) การแก้ไขข้อผิดพลาดที่ไม่ได้ระบุ
1. ระบบอาจไม่ลงทะเบียน msjetoledb40.dll วิธีแก้ไขคือ
คลิกเริ่ม ---> เรียกใช้ป้อน regsvr32 msjetoledb40.dll แล้วกด Enter
2. สิทธิ์ของโฟลเดอร์ที่ฐานข้อมูลตั้งอยู่
วิธีเปิดคือเปิด My Computer จากนั้นคลิก "Folder Options" ---> View บนเมนู แล้วเปลี่ยน "Use Simple Files"
ลบตะขอที่อยู่ด้านหน้า "การแชร์โฟลเดอร์ (แนะนำ)" แล้วคลิก "ยืนยัน" จากนั้นกลับสู่โฟลเดอร์ที่ต้องได้รับอนุญาตในการเปิด (Data Inventory
โฟลเดอร์) คลิกขวา --->คุณสมบัติ--->ความปลอดภัย จากนั้นคลิก "เพิ่ม"--->"ขั้นสูง"--->ค้นหาทันที--->จากนั้นด้านล่าง
เลือก "ทุกคน"--->ตกลง--->คลิก "ทุกคน" ที่คุณเพิ่งเพิ่ม จากนั้นแก้ไขทุกคนในกล่องใหญ่ด้านล่าง
การอนุญาตคือการควบคุมทั้งหมด เพียงบันทึก
3. จำเป็นต้องเปิดผู้ใช้ทั่วไป
วิธีการเปิด: คอมพิวเตอร์ของฉัน --->แผงควบคุม--->เครื่องมือการดูแลระบบ---->การจัดการคอมพิวเตอร์--->ผู้ใช้และกลุ่มภายใน---ผู้ใช้---
ค้นหา "แขก" ดับเบิลคลิก จากนั้นยกเลิกการเลือก "บัญชีถูกปิดใช้งาน" บนหน้าป๊อปอัป แล้วบันทึก
4. สิทธิ์ชั่วคราว (โฟลเดอร์ชั่วคราว)
วิธีการเปิด: windows ---> temp คลิกขวาและเลือก Properties คุณจะเห็นตัวเลือกที่เรียกว่า "ความปลอดภัย" เพิ่ม
เพิ่มทุกคน ตั้งค่าการอนุญาตเป็นการควบคุมทั้งหมด จากนั้นตั้งค่าผู้ใช้ที่คุณกำลังใช้ windows เป็นการควบคุมทั้งหมด (สิทธิ์ของโฟลเดอร์
ขีด จำกัด
วิธีเปิดคือเปิด My Computer จากนั้นคลิก "Folder Options" ---> View บนเมนู แล้วเปลี่ยน "Use Simple Files"
ลบตะขอที่อยู่ด้านหน้า "การแชร์โฟลเดอร์ (แนะนำ)" แล้วคลิก "ยืนยัน" จากนั้นกลับสู่โฟลเดอร์ที่ต้องได้รับอนุญาตในการเปิด (Data Inventory
โฟลเดอร์) คลิกขวา --->คุณสมบัติ--->ความปลอดภัย จากนั้นคลิก "เพิ่ม"--->"ขั้นสูง"--->ค้นหาทันที--->จากนั้นด้านล่าง
เลือก "ทุกคน"--->ตกลง--->คลิก "ทุกคน" ที่คุณเพิ่งเพิ่ม จากนั้นแก้ไขทุกคนในกล่องใหญ่ด้านล่าง
การอนุญาตคือการควบคุมทั้งหมด เพียงบันทึก
ฉันต้องการใช้ ASP เพื่อนำเข้าข้อมูล Excel ลงในฐานข้อมูล sql ฉันยืมรหัสจาก zhanghongwen (ยุงตัวโกง) ดังนี้
-
-
-
-
-
เซิร์ฟเวอร์.scripttimeout=100000000
ข้อมูลย่อยIntoSqlServer_ceritificate (strFileName,strSheetName,myConn)
'คำนิยาม
สลัวการเชื่อมต่อของฉัน
strName สลัว
rsXsl, rsSql สลัว
สลัว str_Xsl,str_Sql
หรี่ myConn_Xsl
cmd สลัว
ดิมิ เจ
maxId สลัว
strName=strFileName
ตั้งค่า myConnection=server.createobject("adodb.connection")
ตั้ง rsXsl=Server.Createobject("ADODB.Recordset")
ตั้ง rsSql=Server.CreateObject("ADODB.Recordset")
ตั้งค่า cmd=Server.CreateObject("ADODB.Command")
cmd.ActiveConnection=myConn
myConn_Xsl = "ผู้ให้บริการ = Microsoft.Jet.OLEDB.4.0; แหล่งข้อมูล = " & strName
& ";คุณสมบัติเพิ่มเติม=Excel 8.0"
'เปิดการเชื่อมต่อ
myConnection.open myConn_Xsl
'เปิดโต๊ะ.
str_Xsl="เลือก * จาก ["& strSheetName &"$]"
rsXsl.open str_Xsl,การเชื่อมต่อของฉัน,1,1
เจ=1
ทำในขณะที่ไม่ใช่ rsXsl.eof
'ได้รับความคุ้มค่าสูงสุด
str_Sql="เลือก Max(id) เป็น maxId จาก fubiao"
rsSql.open str_Sql,myConn,1,3
ถ้าไม่ใช่ rsSql.Eof แล้ว
หากไม่ใช่ isNull(rsSql("maxId")) จากนั้น
maxId=Clng(rsSql("maxId"))+1
อื่น
รหัสสูงสุด=1
จบถ้า
อื่น
รหัสสูงสุด=1
จบถ้า
rsSql.close'//ปิดวัตถุ
'เข้าร่วมฐานข้อมูล
str_Sql="แทรกลงในค่า fubiao("&maxId&",'"&rsXsl(1)&"','"&rsXsl(3)
&"','"&rsXsl(4)&"','"&rsXsl(5)&"','"&rsXsl(6)&"','"&rsXsl(7)&"','"&rsXsl(8)
&"','"&rsXsl(9)&"','"&rsXsl(10)&"','"&rsXsl(11)&"','"&rsXsl(12)&"','"&rsXsl(13)
&"','"&rsXsl(14)&"','"&rsXsl(15)&"','"&rsXsl(16)&"','"&rsXsl(17)&"','"&rsXsl(18)
&"','"&rsXsl(19)&"','"&rsXsl(20)&"','"&rsXsl(21)&"','"&rsXsl(22)&"','"&rsXsl(23)
&"','"&rsXsl(24)&"','"&rsXsl(25)&"','"&rsXsl(26)&"','"&rsXsl(27)&"')"
cmd.CommandText=str_Sql
cmd.ดำเนินการ()
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ''''''''''''''''''''''''''
-
เจ=เจ+1
rsXsl.movenenext
วนซ้ำ
response.write "นำเข้าบันทึก <font color='red'>" & j-1 & "</font> ทั้งหมดแล้ว
.<br/>"
response.write "<a href=javascript:history.back()>ตกลง</a>"
ตั้งค่า rsXsl=nothing
ตั้งค่า rsSql=nothing
ตั้งค่าการเชื่อมต่อของฉัน=ไม่มีอะไร
ตั้งค่า cmd=ไม่มีอะไร
จบย่อย
-
-
-
file1=request.form("ชื่อไฟล์2")
strtj=mid(request.form("filename2"),instrrev(file1,"/")+1,(instrrev(file1,".")-
instrrev(file1,"/")-1))
ถ้า file1="" แล้ว
response.write "โปรดเลือกตาราง Excel ที่คุณต้องการนำเข้า!<p></p>"
-
<a href=javascript:history.back()>หน้าก่อนหน้า</a>
-
การตอบสนองสิ้นสุด
สิ้นสุดถ้า
myconn = "ไดรเวอร์ = {SQL SERVER}; เซิร์ฟเวอร์ = (ท้องถิ่น); uid = sa; pwd = sa; ฐานข้อมูล = qjgsj_data"
เรียก dataIntoSqlServer_ceritificate file1,""&strtj&"",myconn
-
-
-
เมื่อเปิดการเชื่อมต่อ:
myConnection.open myConn_Xsl
ปรากฏ: HTTP 500.100_ข้อผิดพลาดเซิร์ฟเวอร์ภายใน_ข้อผิดพลาด ASP
ประเภทข้อผิดพลาด:
โปรแกรมฐานข้อมูล Microsoft Jet (0x80004005)
/../../aa.asp บรรทัด xx
มีปัญหาอะไร?
มีอะไรผิดปกติกับการเชื่อมโยงนี้หรือไม่?
myConn_Xsl = "ผู้ให้บริการ = Microsoft.Jet.OLEDB.4.0; แหล่งข้อมูล = " & strName &
";คุณสมบัติเพิ่มเติม=Excel 8.0"
DSN ของระบบเซิร์ฟเวอร์ของฉันได้สร้างแหล่งข้อมูลสำหรับฐานข้อมูล SQL ฉันใช้ ASP เพื่อนำเข้าข้อมูล EXCEL เป็นชุด ฉันยังคงต้องให้ข้อมูลใน DSN ของระบบ
ไดรเวอร์การตั้งค่า EXCEL?
จางหงเหวิน (ยุงตัวร้าย) อยู่ที่นี่หรือเปล่า? คะแนนคำถาม: 80 จำนวนคำตอบ: 4ยอดนิยม
ชั้น 1 VeryOldMan (headless fly ()) ตอบกลับเมื่อ 27-01-2549 14:53:46 คะแนน
80myConn_Xsl = "ผู้ให้บริการ = Microsoft.Jet.OLEDB.4.0; แหล่งข้อมูล = " & Server.MapPath
("/yourexcel.xls") _
& ";คุณสมบัติเพิ่มเติม=""Excel 8.0;HDR=ใช่;"";"
คำสั่ง SQL: "เลือก * จาก [yourSheetname$]"
ผ่านการทดสอบบนเว็บไซต์ของฉันเอง: สูงสุด
ชั้น 2 zcxc (Zhichun Xiaocao) ตอบกลับเมื่อ 2549-02-05 เวลา 14:18:59 ด้วยคะแนน 0 ยังใช้งานไม่ได้
Microsoft.Jet.OLEDB.4.0 จำเป็นต้องได้รับการกำหนดค่าบนเซิร์ฟเวอร์หรือไม่ สูงสุด
ชั้น 3 zcxc (Zhichun Xiaocao) ตอบกลับเมื่อ 2549-02-05 18:36:27 คะแนน 0 หดหู่! - -
กรุณาช่วย! - -
การกำหนดค่าเซิร์ฟเวอร์ของฉันคือ windows server 2000, iis 5.0, sql server 2000
ใช้ myConn_Xsl="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strName &
";คุณสมบัติเพิ่มเติม=Excel 8.0"
หรือ myConn_Xsl="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath
("strชื่อ") _
& ";คุณสมบัติเพิ่มเติม=""Excel 8.0;HDR=ใช่;"";"
เกิดข้อผิดพลาดขณะเปิดการเชื่อมต่อ:
โปรแกรมฐานข้อมูล Microsoft Jet (0x80004005)
/../../aa.asp บรรทัด xx
ใช้ myconn_Xsl="driver={ไดรเวอร์ Microsoft Excel(*.xls)};dbq="&server.mappath
("strName")
เมื่อเปิดการเชื่อมต่อจะเกิดข้อผิดพลาด:
ผู้ให้บริการ microsoft ole db สำหรับไดรเวอร์ odbc (0x80004005)
/../../aa.asp บรรทัด xx
ขออนุญาต:
ใช้ myconn_Xsl="driver={ไดรเวอร์ Microsoft Excel(*.xls)};dbq="&server.mappath
คำสั่ง ("strName") ในการเชื่อมต่อ ควรกำหนดค่าเซิร์ฟเวอร์อย่างไร
ใช้ myConn_Xsl="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strName &
";คุณสมบัติเพิ่มเติม=Excel 8.0"
หรือ myConn_Xsl="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath
("strชื่อ") _
& ";คุณสมบัติเพิ่มเติม=""Excel 8.0;HDR=ใช่;"";"
ในการเชื่อมต่อ ควรกำหนดค่าเซิร์ฟเวอร์อย่างไร?
สาเหตุของปัญหาข้างต้นคืออะไร? เซิร์ฟเวอร์ขาดการกำหนดค่าบางอย่างหรืออย่างอื่นหรือไม่
โปรดให้คำแนะนำจากผู้เชี่ยวชาญ
เมื่อใช้ Dreamweaver เพื่อเชื่อมต่อกับฐานข้อมูล มักจะเกิดข้อผิดพลาดที่บรรทัด 8 และบางครั้งก็มีปัญหาไม่ใช่ครั้งอื่น โดยปกติแล้วจะเริ่มทำงานตามปกติ แต่เมื่อรีเฟรชแล้ว ปัญหาต่อไปนี้จะเกิดขึ้น:
ข้อผิดพลาด HTTP 500.100 - ข้อผิดพลาดเซิร์ฟเวอร์ภายใน - ข้อผิดพลาด ASP
บริการข้อมูลทางอินเทอร์เน็ต
-------------------------------------------------- -------------------------------------------------- ----------------------------------
ข้อมูลทางเทคนิค (สำหรับเจ้าหน้าที่ฝ่ายสนับสนุน)
ประเภทข้อผิดพลาด:
ผู้ให้บริการ (0x80004005)
ข้อผิดพลาดที่ไม่ระบุ
/xxxxxx.asp บรรทัด 8
ประเภทเบราว์เซอร์:
Mozilla/4.0 (เข้ากันได้; MSIE 6.0; Windows NT 5.1)
หน้าเว็บ:
รับ /main.asp
สาเหตุของปัญหา:
เกิดจากความผิดปกติของโค้ดในการเชื่อมต่อกับฐานข้อมูล มีช่องว่างในโค้ด
สารละลาย:
ค้นหาคำสั่งที่สร้างรหัสที่เชื่อมต่อกับฐานข้อมูลและชำระเงินเป็น MM_XXXXXX_STRING และเพิ่ม UID=;PWD=
(รหัสนี้มักจะอยู่ใต้ไฟล์ CONNECTIONS ของเว็บไซต์)
ตัวอย่างเช่น:
ก่อนเกิดข้อผิดพลาด: MM_XXXXX_STRING = "dsn=YYYY;"
หลังการแก้ไข: MM_XXXX_STRING = "dsn=YYYY;UID=;PWD=;"
ลองตอนนี้ด้วยตัวคุณเอง!