แนะนำ: ASP Advanced: ใช้ ASP เพื่อทำแผนภูมิพายสถิติแผนภูมิแท่ง ฯลฯ ในงานของเราเรามักจะต้องแปลงข้อมูลเป็นแผนภูมิแท่งแผนภูมิวงกลม ฯลฯ เพื่ออำนวยความสะดวกและการวิเคราะห์ข้อมูลที่ใช้งานง่าย ที่นี่ฉันจะแนะนำส่วนประกอบที่สร้างแผนภูมิพายและแผนภูมิแท่งใน ASP: CSDrawGraph, CSDGT.ZIP เนื่องจากเป็นองค์ประกอบเราจึงต้องใช้ regsv ก่อนใช้งาน
บทที่ 8 พื้นฐาน ADOในเจ็ดบทแรกของหนังสือเล่มนี้เราได้พูดคุยเกี่ยวกับเนื้อหาเกี่ยวกับ ASP และวิธีการที่ ASP นำเนื้อหาแบบไดนามิกมาสู่เว็บไซต์ จะเห็นได้ว่าโปรแกรมการเขียนสคริปต์ช่วยให้หน้าเว็บที่กำหนดเองช่วยให้เราสามารถสร้างหน้า ASP ที่ทรงพลังยิ่งขึ้น
ตอนนี้การรวม ASP และข้อมูลจะได้รับการศึกษา ในขณะที่ไม่มีการ จำกัด จำนวนสคริปต์ที่ใช้ในหน้าเว็บโดยไม่มีข้อมูลบางรูปแบบ แต่ในไม่ช้าก็จะเป็นจุดจบ ข้อมูลถือเป็นเนื้อหาจริงของเว็บไซต์หรือชี้ให้เห็นวิธีการตั้งค่าเว็บไซต์ดังนั้นข้อมูลโดยทั่วไปจะมีความสำคัญมาก หากคุณสร้างเว็บไซต์เกี่ยวกับการจัดเก็บข้อมูลคุณจะต้องเปลี่ยนข้อมูลที่เกี่ยวข้องเมื่อเปลี่ยนเว็บไซต์
ActiveX Data Objects (ADOS) เป็นส่วนประกอบที่อนุญาตให้ผู้ใช้โต้ตอบกับที่เก็บข้อมูล ซึ่งหมายความว่าสามารถสร้างหน้าเว็บขึ้นอยู่กับข้อมูลบางส่วนหรือระบบอีคอมเมิร์ซแบบโต้ตอบได้อย่างสมบูรณ์ ไม่ว่าจะด้วยวิธีใด ADO ช่วยให้เราสามารถสื่อสารกับข้อมูลได้ เราจะหารือเกี่ยวกับเนื้อหาหลักของการรับและส่งข้อมูลจากการจัดเก็บข้อมูลรวมถึงวิธีการประมวลผลข้อมูลหลังจากได้รับข้อมูล
ก่อนอื่นเราจะดูว่า ADO คืออะไรและส่วนประกอบของมันรวมอยู่แล้วหารือเกี่ยวกับวิธีการเข้าถึงการจัดเก็บข้อมูล ในบทต่อไปเราจะเรียนรู้เพิ่มเติมเกี่ยวกับคุณสมบัติขั้นสูงของ ADO เช่นคำสั่งขั้นตอนที่เก็บไว้และเทคนิคการดำเนินงานบางอย่างเพื่อเพิ่มประสิทธิภาพแอปพลิเคชัน ขั้นตอนต่อไปคือการศึกษากระบวนการโต้ตอบระหว่างเว็บเซิร์ฟเวอร์และเบราว์เซอร์รวมถึงกระบวนการประมวลผลข้อมูล จากนั้นศึกษา XML ที่มีศักยภาพในสาขาการเข้าถึงข้อมูล XML คืออะไร? ใช้อย่างไร? เนื่องจาก XML แสดงถึงแนวโน้มในการพัฒนาในอนาคตเราจะแนะนำแนวคิดของ Microsoft เกี่ยวกับการเข้าถึงข้อมูลสากล ในแนวคิดนี้ข้อมูลไม่เพียง แต่ได้มาจากฐานข้อมูล ในที่สุดลองดูฐานข้อมูล Microsoft มาตรฐานเช่นการเข้าถึงและ SQL Server และวิธีการใช้ ADO ในนั้น
บทนี้เริ่มต้นด้วย ADO และเนื้อหาหลักคือ:
·ศึกษาว่า ADO โต้ตอบกับข้อมูลได้อย่างไร
·ทำความเข้าใจกับส่วนประกอบของ ADO
·วิธีการเชื่อมต่อและสร้างชุดข้อมูลด้วย Datastores
·วิธีการประมวลผลและแก้ไขข้อมูล
·วิธีจัดการกับข้อผิดพลาด ADO
8.1 คำจำกัดความของ ADO
ADO เป็นแนวคิดที่ค่อนข้างง่ายความคิดที่ช่วยให้คุณสามารถเข้าถึงข้อมูลได้ด้วยวิธีเดียวเท่านั้น ADO ไม่ใช่ความคิดใหม่มันเป็นเพียงสิ่งใหม่ที่ปรับให้เข้ากับความต้องการของปัจจุบันและอนาคตโดยใช้เทคโนโลยีการเข้าถึงฐานข้อมูลที่มีอยู่และรวมเข้าด้วยกัน มันสำคัญมากที่จะปรับให้เข้ากับความต้องการในอนาคต เทคโนโลยีอื่น ๆ อีกมากมายเช่น DAO และ ODBC เป็นที่ยอมรับในการพัฒนาแอพพลิเคชั่นบางอย่าง แต่ด้วยการเพิ่มขึ้นของอินเทอร์เน็ตปัญหาบางอย่างของตัวเองก็เกิดขึ้น
ในหลายกรณีวิธีการเข้าถึงข้อมูลแบบดั้งเดิมดูเหมือนจะแก้ปัญหาบางอย่างด้วยระบบไคลเอนต์/เซิร์ฟเวอร์สองชั้น แต่ต้องการการเชื่อมต่ออย่างถาวรกับข้อมูลและให้ฟังก์ชั่นที่มีประสิทธิภาพเช่นการสืบค้นที่ตอบสนองอย่างรวดเร็วการปรับเปลี่ยนข้อมูลง่าย ๆ ฯลฯ ในอาณาจักรอินเทอร์เน็ตตอนนี้จำเป็นต้องคำนึงถึงลักษณะไร้สัญชาติของเว็บและจำนวนผู้ใช้ที่สามารถเข้าถึงเว็บไซต์ มันไม่สมจริงที่จะสร้างการเชื่อมต่ออย่างถาวรกับข้อมูลดังนั้นปัจจัยเหล่านี้จะต้องนำมาพิจารณาเมื่อออกแบบแอปพลิเคชัน
ดังนั้น DB เก่าและ ADO คืออะไร? ลองเปรียบเทียบกับเทคโนโลยีการเข้าถึงข้อมูลที่มีอยู่ก่อนที่จะตอบคำถามนี้ หากผู้อ่านได้สัมผัสกับการเขียนโปรแกรมฐานข้อมูลพวกเขาอาจคุ้นเคยกับ ODBC และ RDO มากขึ้น Open Database Connections (ODBC) เป็นอินเตอร์เฟสการเขียนโปรแกรมแอปพลิเคชัน (API) ที่อนุญาตให้เข้าถึงฐานข้อมูลเชิงสัมพันธ์เช่นการเข้าถึงและ SQL Server เนื่องจากเป็น API โปรแกรมเมอร์จำนวนมากโดยเฉพาะโปรแกรมเมอร์ในฟิลด์ Visual Basic ค้นหาว่ามันซับซ้อนที่จะใช้ REMOTE DATA OBJECT (RDO) เป็นวัตถุ ActiveX ที่อยู่บนชั้นบนของ ODBC มันสามารถให้ฟังก์ชั่นทั้งหมดของ ODBC และใช้งานได้ค่อนข้างง่าย
OLE DB สามารถเทียบได้กับ ODBC และ ADO สามารถเทียบได้กับ RDO
OLE DB เป็นเทคโนโลยีพื้นฐานสำหรับการโต้ตอบของแอปพลิเคชันกับแหล่งข้อมูล
สิ่งนี้ค่อนข้างซับซ้อนและมีให้เฉพาะโปรแกรมโปรแกรมเมอร์ C และ C เท่านั้น ตามชื่อของ ADO แนะนำมันเป็นวัตถุ ActiveX ที่สามารถเข้าถึงฟังก์ชันการทำงานของ OLE DB ได้อย่างง่ายดาย
คุณอาจพบว่าคำที่ใช้งานอยู่มักจะผสมกับวัตถุ COM ไม่มีความแตกต่างที่สำคัญสำหรับโปรแกรมเมอร์ ASP เนื่องจากทั้งคู่อยู่บนพื้นฐานของโครงสร้างระบบ COM ยกเว้นว่า ActiveX เป็นมาตรฐานข้ามแพลตฟอร์มสำหรับส่วนประกอบและ COM เป็นเฉพาะ Windows
แม้ว่า Microsoft ได้แนะนำเทคโนโลยีใหม่ในการเข้าถึงข้อมูล แต่ก็ไม่ได้ยกเลิกเทคโนโลยีเก่าทันทีและ ODBC ยังคงทำงานได้อย่างมีประสิทธิภาพและทำงานอย่างใกล้ชิดกับ OLE DB และ ADO ในความเป็นจริง ODBC ไม่ได้เป็นเพียงผลิตภัณฑ์ของ Microsoft เท่านั้น แต่ยังควบคุมโดยส่วนประกอบระหว่างประเทศ และเนื่องจากการใช้อย่างแพร่หลาย ODBC จะไม่ตายทันที แนวคิดที่อยู่เบื้องหลัง OLE DB ไม่ได้ละทิ้งเทคโนโลยีที่มีอยู่ แต่เพื่อปรับปรุงพวกเขาอย่างต่อเนื่อง
8.1.1 สถาปัตยกรรมของ OLE DB และ ADO
คำอธิบายสั้น ๆ ของ OLE DB และ ADO ในบางแง่มุมที่สำคัญได้รับข้างต้น รูปที่ 8-1 แสดงความสัมพันธ์ระหว่างเทคโนโลยีทั้งสองและแอปพลิเคชันและการจัดเก็บข้อมูล:
รูปที่ 8-1 ความสัมพันธ์ระหว่าง OLE DB, ADO และ Application และ Data Storage
แนวคิดโดยรวมสามารถมองเห็นได้จากรูปที่ 8-1 ที่ด้านบนของแผนภาพคือแอปพลิเคชัน (เว็บหรือแอปพลิเคชันปกติซึ่งไม่เกี่ยวข้อง) และด้านล่างคือ ADO และ/หรือ OLE DB ที่ให้การเข้าถึงข้อมูล ADO และ OLE DB เป็นทั้ง OLE DB เป็นเทคโนโลยีพื้นฐาน อย่างไรก็ตาม OLE DB ไม่เหมาะสำหรับทุกภาษาดังนั้น ADO จึงตั้งอยู่ที่ชั้นบนของ OLE DB และให้อินเทอร์เฟซการเขียนโปรแกรมสำหรับภาษาที่ไม่มีการเข้าถึงโดยตรงไปยัง OLE DB เช่น Visual Basic และ Scripting Languages ADO ให้อินเทอร์เฟซการเขียนโปรแกรมที่ง่ายกว่า OLE DB ดังนั้นแม้กระทั่งภาษาการเขียนโปรแกรมที่สามารถใช้ DB OLE โดยตรงเช่น C หรือ Java, ADO สามารถใช้เพื่อทำให้การเข้าถึงข้อมูลง่ายขึ้น
รูปที่ 8-1 แสดงภาษาการเขียนโปรแกรมของ Microsoft และ ADO เป็นองค์ประกอบ COM ดังนั้นจึงสามารถใช้ในภาษาการเขียนโปรแกรมที่เข้ากันได้กับ COM เช่น Delphi หรือภาษาสคริปต์ที่รองรับอินเตอร์เฟสสคริปต์ที่ใช้งานอยู่ ดังนั้นแม้ว่า ADO จะเกี่ยวข้องกับแพลตฟอร์ม แต่ก็ไม่เกี่ยวข้องกับภาษาที่พัฒนาขึ้น แน่นอนสำหรับ ASPS, VBScript และ JScript ส่วนใหญ่จะใช้และเมื่อใช้ ADO ในส่วนประกอบจะมีรหัสพื้นฐานที่มองเห็นได้
ตอนนี้เรารู้แล้วว่า OLE DB และ ADO อนุญาตให้เข้าถึงข้อมูลได้ แต่ทำไมเราถึงต้องการพวกเขา? มีบางอย่างผิดปกติกับวิธีเก่าหรือไม่? นี่คือสองเหตุผลหลัก:
ก่อนอื่น OLE DB และ ADO ใช้เพื่อเข้าถึงการจัดเก็บข้อมูล โปรดทราบว่าสิ่งนี้หมายถึงการจัดเก็บข้อมูลมากกว่าฐานข้อมูล แม้ว่าฐานข้อมูลยังคงเป็นรูปแบบการจัดเก็บข้อมูลที่กว้างขวางที่สุด แต่ก็ไม่จำเป็นต้องมีข้อมูลทั้งหมด ระบบการส่งข้อความบางระบบเช่น Microsoft Exchange Server มักใช้เพื่อจัดเก็บข้อมูล บริการไดเรกทอรีเริ่มแสดงสัญญาณมีข้อมูลเกี่ยวกับผู้ใช้เครื่องจักร ฯลฯ ; มีข้อมูลจำนวนมากที่มีอยู่ในเว็บเซิร์ฟเวอร์ คุณสามารถแสดงรายการต่อไปและเป็นที่ชัดเจนว่าจำเป็นต้องใช้วิธีการเข้าถึงข้อมูลประเภทต่าง ๆ เหล่านี้ทั้งหมด
ประการที่สองมันมีต้นกำเนิดมาจากการเพิ่มขึ้นของแอปพลิเคชันอินเทอร์เน็ตและลักษณะของสถานะของเว็บ วิธีการที่ผ่านมาในการเข้าถึงข้อมูลส่วนใหญ่พิจารณาจากข้อมูลการประมวลผลในขณะที่ยังคงการเชื่อมต่อถาวรกับที่เก็บข้อมูล OLE DB และ ADO ได้รับการออกแบบมาเพื่อแก้ปัญหานี้โดยให้ชุดบันทึกที่ไม่เชื่อมต่อและเราจะเห็นเนื้อหาในภายหลัง
8.1.2 ผู้บริโภคและผู้ให้บริการ
แผนภาพโครงสร้างระบบ ADO แสดงให้เห็นว่า ADO ทำงานอย่างไรระหว่างแอปพลิเคชันและที่เก็บข้อมูลจริง ในวรรณคดีของ Microsoft จะเห็นคำศัพท์ที่เข้าใจง่ายสองคำ: ผู้บริโภคและผู้ให้บริการ แต่เป็นสิ่งสำคัญที่จะต้องทราบคำจำกัดความที่แน่นอนของพวกเขา
ผู้ให้บริการเป็นวัตถุที่ให้ข้อมูลและผู้บริโภคเป็นวัตถุที่ใช้ (บริโภค) ข้อมูลนี้
ในการเขียนโปรแกรมแอปพลิเคชันมักพบว่าเป็นผู้บริโภคข้อมูล แต่แล้วผู้ให้บริการล่ะ? โดยทั่วไปแล้วเป็นที่เก็บข้อมูลและเนื่องจาก OLE DB ได้รับการออกแบบมาเพื่อพูดคุยกับที่เก็บข้อมูลที่แตกต่างกันจึงมีผู้ให้บริการ OLE DB สำหรับแต่ละประเภทของการจัดเก็บข้อมูลที่ไม่ซ้ำกัน
แนวคิดของผู้ให้บริการเดี่ยวไม่ใช่เรื่องใหม่ แต่ทำให้การเขียนโปรแกรมง่ายขึ้น เขียนโปรแกรมเพื่อพูดคุยกับ ADO หรือ OLE DB และ OLE DB จะพูดคุยกับผู้ให้บริการ ซึ่งหมายความว่าเพียงแค่เรียนรู้ชุดวิธีในการเข้าถึงข้อมูลไม่ว่าจะจัดเก็บข้อมูลอย่างไรในบางกรณีก็เป็นไปได้ที่จะเปลี่ยนรหัสใด ๆ เลยและเพียงแค่เปลี่ยนผู้ให้บริการ นี่คือสิ่งที่ ADO และ OLE DB นั้นเหนือกว่าอย่างแท้จริงโดยให้อินเทอร์เฟซการเขียนโปรแกรมทั่วไปสำหรับการจัดเก็บข้อมูล
ในการเชื่อมต่อกับที่เก็บข้อมูลจะต้องใช้ผู้ให้บริการ OLE DB การตั้งค่าเริ่มต้นที่มีให้กับ ADO 2.5 คือ:
· Jet Ole DB 4.0: สำหรับใช้กับฐานข้อมูล Microsoft Access
·แพ็คเกจ DTS: บริการการแปลงข้อมูลสำหรับ SQL Server
·การเผยแพร่ทางอินเทอร์เน็ต: ใช้เพื่อเข้าถึงเว็บเซิร์ฟเวอร์
·บริการดัชนี: ใช้สำหรับแคตตาล็อกดัชนี (ดัชนีแคตตาล็อก)
·การค้นหาเซิร์ฟเวอร์ไซต์: ใช้เพื่อค้นหาไดเรกทอรีสำหรับเซิร์ฟเวอร์ไซต์
·ไดรเวอร์ ODBC: ใช้สำหรับแหล่งข้อมูล ODBC
·บริการ OLAP: ใช้สำหรับเซิร์ฟเวอร์ Microsoft OLAP
· Oracle: ใช้ในฐานข้อมูล Oracle
· SQL Server: ใช้สำหรับฐานข้อมูล Microsoft SQL Server
·ผู้ให้บริการง่าย ๆ : สำหรับไฟล์ข้อความง่าย ๆ
· MsDatashape: ใช้สำหรับข้อมูลลำดับชั้น
· Microsoft Directory Services: บริการไดเรกทอรีสำหรับ Windows 2000
· DTS Flat File: การจัดการไฟล์แบบแบนสำหรับบริการแปลงข้อมูล SQL Server
นี่เป็นเพียงรายการเริ่มต้นที่จัดทำโดย Microsoft และขึ้นอยู่กับบริการและซอฟต์แวร์ที่ติดตั้งบนเซิร์ฟเวอร์ นำผู้ให้บริการข้อมูล Oracle เป็นตัวอย่างจำเป็นต้องติดตั้งซอฟต์แวร์ไคลเอนต์ของ Oracle บนเครื่องไคลเอนต์
ผู้ให้บริการ OLE DB มีให้บริการจากผู้ผลิตรายอื่นสำหรับการจัดเก็บข้อมูลอื่น ๆ มันสามารถเขียนได้ด้วยซ้ำ
แบ่งปัน: เริ่มต้นใช้งาน WebClass (1) 1. บทนำสู่ WebClass: WebClass เป็นส่วนประกอบ VB ที่อยู่บนเว็บเซิร์ฟเวอร์และตอบสนองต่ออินพุตของเบราว์เซอร์ สำหรับผู้ใช้แอปพลิเคชัน IIS ดูเหมือนจะประกอบด้วยชุดหน้า HTML สำหรับนักพัฒนาแอปพลิเคชัน IIS