ถาม: ทำไมฉันถึงเรียกใช้ข้อมูลข้อผิดพลาด SQL แบบไดนามิกใน ASP ข้อผิดพลาดไวยากรณ์คำสั่ง
คำตอบ:
บางครั้งเมื่อเขียน ASP ด้วย conn.execute (SQL) เพื่อสอบถามอัปเดตและแทรกข้อมูลฐานข้อมูลการเข้าถึงข้อความที่ถูกต้องมักจะแสดงข้อผิดพลาดคำสั่ง SQL ซึ่งค่อนข้างน่ารำคาญ ฉันได้สรุปพวกเขาและสามารถเพิ่มอย่างเหมาะสม "[" และ "]" ลงในฟิลด์เพื่อแก้ปัญหา:
การคัดลอกรหัสมีดังนี้:
ตัวอย่างที่ 1: เลือก*จาก
หากเกิดข้อผิดพลาดคุณสามารถเปลี่ยนเป็น: เลือก*จาก [A]
ตัวอย่างที่ 2: อัปเดต [ผู้ใช้] setPassword = '"& data1 &"' wheresecname = '"data2 &"' "
หากเกิดข้อผิดพลาดสามารถเปลี่ยนเป็น: อัปเดต [ผู้ใช้] ตั้งค่า [รหัสผ่าน] = '"& data1 &"' wheresecname = '"data2 &"' "
ตัวอย่างที่ 3: InsertIntomyBook (ชื่อ, โดย, มือถือ) ค่า ('"& data1 &"', '"& data2 &"', '"& data3 &"') "
หากเกิดข้อผิดพลาดคุณสามารถเปลี่ยนเป็น:
InsertIntomyBook ([ชื่อ], [โดย], [มือถือ]) ค่า ('"& data1 &"', '"& data2 &"', '"& data3 &"') "
ถาม: เหตุใดรันไทม์จึงพร้อมที่จะ "Microsoft JetDatabaseengine (0x80040E09)" ที่ไม่สามารถอัปเดตได้และฐานข้อมูลหรือวัตถุเป็นแบบอ่านอย่างเดียว?
การคัดลอกรหัสมีดังนี้:
คำตอบ:
การรันโปรแกรม ASP บนเซิร์ฟเวอร์ Windows + IIS อาจทำให้ฐานข้อมูลไม่สามารถอัปเดตได้ ข้อความแสดงข้อผิดพลาดเฉพาะอาจเป็น:
1. Microsoft JetDatabaseengine (0x80040E09) ไม่สามารถอัปเดตได้ ฐานข้อมูลหรือวัตถุเป็นแบบอ่านอย่างเดียว
2. ผู้ให้บริการ Microsoft OLEDB สำหรับ ODBCDRIVERS (0x80004005) [Microsoft] [ODBCMicrosoft AccessDriver] การดำเนินการต้องใช้แบบสอบถามที่อัปเดตได้
3. การดำเนินการ Microsoft JetDatabaseengine (0x80004005) ต้องใช้แบบสอบถามที่อัปเดตได้
มีวิธีแก้ปัญหาหลายอย่าง (วิธีการแก้ปัญหาอาจแตกต่างกันสำหรับเซิร์ฟเวอร์ที่แตกต่างกันที่นี่สมมติว่าไดเรกทอรีโฮมเมดของเว็บไซต์คือ wwwroot):
A. คลิกขวาที่โฟลเดอร์ wwwroot - "คุณสมบัติ" - ยกเลิก "อ่านอย่างเดียว"
วิธีนี้เป็นวิธีที่ง่ายที่สุดและมีประสิทธิภาพเป็นครั้งคราว
B. คลิกขวาที่โฟลเดอร์ในไฟล์ฐานข้อมูลของคุณ - "คุณสมบัติ" - "ความปลอดภัย" - เพิ่มผู้ใช้: "ชื่อ iusr_computer" และเปิดการอ่านและเขียนสิทธิ์ของ "ชื่อ iusr_computer"
วิธีนี้เป็นทางออกที่ดีที่สุดสำหรับปัญหานี้ในปัจจุบันและโดยทั่วไปสามารถแก้ปัญหาได้
ตัวเลือก "ความปลอดภัย" อาจไม่สามารถมองเห็นได้เมื่อคลิกขวาคลิกที่ระบบ XP กรุณาเปิด "เครื่องมือ" - "ตัวเลือกโฟลเดอร์" - "ดู" - ยกเลิก "ใช้การแชร์ไฟล์อย่างง่าย (แนะนำ)" จากนั้นค้นหาตัวเลือก "ความปลอดภัย" ในคุณสมบัติ
C. คลิกขวาที่โฟลเดอร์ wwwroot - "คุณสมบัติ" - "การแบ่งปันเว็บ" - "โฟลเดอร์ที่ใช้ร่วมกัน"
D. นี่เป็นหลายวิธีในการแก้ปัญหานี้ในปัจจุบัน หากคุณมีอาหารเสริมเพิ่มเติมจากชาวเน็ตโปรดติดต่อ http://www.venshop.com เครือข่ายมนุษย์