รายละเอียด: แผนการทำงานสำหรับผู้ให้บริการข้อมูล.NET

ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ

ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:313480
บทความนี้ถูกเก็บถาวรแล้วเนื้อหาของบทความจึงถูกนำเสนอ "ตามลักษณะที่เป็น" และจะไม่มีการปรับปรุงข้อมูลอีก
สรุป
บทความนี้แสดงแผนการทำงานเมื่อต้องการเรียนรู้ และหลักการ ADO.NET ผู้ให้บริการข้อมูล บทความแผนการทำงานให้เชื่อมโยงไปยังข้อมูลที่เป็นประโยชน์ รวมถึง เอกสารประกอบออนไลน์ บทความในฐานความรู้ของ Microsoft และสีขาวของ Microsoft เอกสาร เพื่อช่วยให้คุณเรียนรู้เกี่ยวกับผลิตภัณฑ์ของ Microsoft หรือ เทคโนโลยี

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ บทความสรรหาเทคโนโลยี ADO.NET ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดู บทความในฐานความรู้ของ Microsoft:
313590 ข้อมูล: ผังสำหรับ ADO.NET
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับออบเจ็กต์ ADO.NET DataAdapterให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความใน ฐานความรู้ของ Microsoft:
313483 ข้อมูล: ผังสำหรับ ADO.NET DataAdapter วัตถุ

ภาพรวมและสถาปัตยกรรม

ผู้ให้บริการข้อมูลของ Microsoft .NET คือ ชุดของคลาสที่ที่ให้ เข้าถึงแหล่งฐานข้อมูลหรือข้อมูล Microsoft .NET Framework ประกอบด้วยสอง ผู้ให้บริการข้อมูล:
  • บริการการข้อมูล OLE DB .NET (OleDb), ซึ่งเข้าถึงฐานข้อมูล ผ่าน Microsoft OLE DB
  • ให้ SQL Server .NET บริการข้อมูล (SqlClient), ซึ่งเป็น ประสิทธิภาพสูง โดยตรงเข้ากับ Microsoft SQL Server เวอร์ชั่น 7.0 และ ในภายหลัง
ผู้ให้บริการข้อมูลอื่น ๆ จะพร้อมใช้งาน บนเว็บ และจาก ผู้จัดจำหน่ายของบริษัทอื่น นอกจากนี้ คุณสามารถใช้ซอฟต์แวร์พร้อมใช้งาน การพัฒนา Kit (SDK) เพื่อเขียนตัวให้บริการข้อมูลของคุณเอง

แต่ละข้อมูล ผู้ให้บริการรวมถึงการเชื่อมต่อคำสั่งและพารามิเตอร์วัตถุ ตลอดจนวัตถุDataReaderและธุรกรรมใหม่ บทความนี้แสดงข้อมูลอ้างอิงเพื่อช่วยให้คุณสามารถใช้การ .NET ข้อมูลผู้ให้บริการวัตถุในโปรแกรมประยุกต์ของคุณ

สำหรับภาพรวมของ ผู้ให้บริการการข้อมูล.NET การอ้างอิงถึงหัวข้อต่อไปนี้ในการ Microsoft Visual เอกสารวิธีใช้แบบออนไลน์ของ.NET studio: Visual Studio .NET และแพลตฟอร์มพัฒนา.NET รวม ผู้ให้ข้อมูล SqlClient และ OleDb .NET คุณสามารถดาวน์โหลด ODBC .NET ผู้ให้บริการข้อมูลจากเว็บไซต์ต่อไปนี้ของ Microsoft: บทความของ MSDN

แนวทางสำหรับ ADO.NET
.aspx http://msdn.microsoft.com/en-us/library/aa902662 (v=sql.80)

หมายเหตุการเขียนโปรแกรม

เสมอเรียกการปิดหรือจัดการวิธีการที่จะปิดอย่างชัดเจน หรือกำจัดการเชื่อมต่อและการDataReaderวัตถุในรหัสแอพลิเคชันของคุณ ไม่อนุญาตให้วัตถุอยู่ออกไป ของ scope หรือกำหนดเป็นไม่มีสิ่งใด(ใน Visual Basic) หรือnull (ใน Visual C# และ Visual C++) ถ้าคุณไม่สามารถเรียกปิดหรือการขายทิ้งคุณใช้ทรัพยากรที่มีราคาแพงที่สุดจนถึงขยะถัดไป คอลเลกชัน

อย่างไรก็ตาม ไม่เรียกปิดหรือขายทิ้งบนวัตถุเชื่อมต่อเป็นDataReaderวัตถุ หรืออื่น ๆ ได้รับการจัดการวัตถุใด ๆ ในวิธีการเสร็จสิ้นของคลาสของคุณ เรียกว่าในระหว่างการ finalizer ของวัตถุ การรวบรวมขยะ เมื่อคุณเรียกปิดหรือจัดการกับวัตถุที่มีการจัดการในวิธีการเสร็จสิ้นของคลาสของคุณ ปัญหาอาจเกิดขึ้นได้ถ้าชั้นที่คุณ เกี่ยวกับการตัดจำหน่ายของไม่เธรดและถ้าโปรแกรมประยุกต์ของคุณกำลังเรียกใช้บนตัว คอมพิวเตอร์หลายตัวประมวลผล

นำออกใน finalizer ของคุณ คุณควรใช้เฉพาะ ไม่มีการจัดการทรัพยากรที่คลาสของคุณเป็นเจ้าของโดยตรง ถ้าคุณได้เป็นเจ้าของใด ๆ ไม่มีการจัดการทรัพยากร รวมวิธีการเสร็จสิ้นในคำนิยามของคลาส ซึ่งเป็นสิ่งสำคัญโดยเฉพาะอย่างยิ่งถ้า บริการของ Windows การบริการเว็บ หรือโปรแกรมประยุกต์อื่น ASP.NET ใช้คลาสของคุณ ชนิดของแอพลิเคชันเหล่านี้ไม่มีอินเทอร์เฟซสำหรับผู้ใช้บนเซิร์ฟเวอร์ คอมพิวเตอร์ ยืนยันหลักใด ๆ หรือข้อผิดพลาดอื่น ๆ ที่ถูกยกขึ้นอาจทำให้เซิร์ฟเวอร์ กระบวนการหยุดการตอบสนอง (แฮงค์)


ตัวอย่างของการเริ่มด่วน Walkthroughs และบทความในฐานความรู้ของ Microsoft

ไฟล์ตัวอย่างของการเริ่มด่วนแสดงตัวอย่างรหัสสำหรับการอ้างอิงของคุณ Walkthroughs ให้สอนขนาดเล็กที่แนะนำคุณผ่านแอพลิเคชันทั่วไป สถานการณ์การพัฒนา ฐานความรู้ของ Microsoft "วิธีการ" บทความให้ คำแนะนำทีละขั้นตอนเกี่ยวกับวิธีการทำงานที่เฉพาะเจาะจง

ที่ หัว visual Studio .NET ออนไลน์ข้อวิธีใช้ ไฟล์ตัวอย่างของการเริ่มด่วน walkthroughs และบทความฐานความรู้ของ Microsoft ในส่วนเป็นไปตามที่อธิบายถึงวิธีการ ใช้ผู้ให้บริการข้อมูล.NET

บทความของ MSDN
ใช้ผู้ให้บริการข้อมูล.NET เพื่อเข้าถึงข้อมูล
.aspx http://msdn2.microsoft.com/en-us/library/s7ee2dwt (vs.71)
ตัวอย่างของการเริ่มด่วน

ไฟล์ตัวอย่างของการเริ่มด่วนติดตั้งบนคอมพิวเตอร์ของคุณ ในหนึ่งในสองตำแหน่ง ถ้าคุณติดตั้งแฟ้มตัวอย่างของการเริ่มด่วนเป็นส่วนหนึ่งของ Visual Studio .NET ตัวอย่างแฟ้มอยู่ในโฟลเดอร์ต่อไปนี้:
C:\Program Files\Microsoft .NET\FrameworkSDK\Samples\QuickStart\ Visual Studio ...
ถ้าคุณติดตั้งแฟ้มตัวอย่างของการเริ่มด่วนเป็นส่วนหนึ่งของ.NET แพลตฟอร์มพัฒนา ตัวอย่างแฟ้มอยู่ในโฟลเดอร์ต่อไปนี้:
C:\Program Files\FrameworkSDK\Samples\QuickStart\ ...
Walkthroughs

ใน Visual Studio .NET บนเมนูวิธีใช้คลิกดัชนี ในกล่องข้อความค้นหาพิมพ์ Walkthroughs ข้อมูล. ที่ บานหน้าต่างผลลัพธ์ของดัชนีแสดงรายการของ walkthroughs การเข้าถึงข้อมูล

บทความในฐานความรู้ของ Microsoft
310985 วิธีการ: ใช้การ ODBC .NET ผู้ได้รับการจัดการใน Visual Basic .NET และสตริงการเชื่อมต่อ
310988 วิธีการ: ใช้ตัว ODBC .NET ให้มีการจัดการบริการใน Visual C# .NET และสตริงการเชื่อมต่อ

การเชื่อมต่อ

โดยทั่วไป สตริงการเชื่อมต่อที่ถูกต้องสำหรับOleDbConnectionและวัตถุOdbcConnectionจะเหมือนกับสายอักขระการเชื่อมต่อสำหรับ Microsoft ActiveX ข้อมูลวัตถุ (ADO) OLE DB และ ODBC ตามลำดับ ความแตกต่างหลักคือ คุณไม่สามารถใช้วัตถุOleDbConnectionเพื่อเชื่อมต่อกับโปรแกรมควบคุม ODBC คุณต้องใช้ ODBC .NET ผู้ให้บริการข้อมูลแทน นอกจากนี้ OleDb .NET ข้อมูลผู้ให้บริการต้องที่ ผู้ที่ OLE DB ให้สนับสนุนอินเทอร์เฟซที่แน่นอน สำหรับรายการของอินเทอร์เฟซเหล่านี้ การอ้างอิงไปยังหัวข้อต่อไปนี้ในวิธี Visual Studio .NET ใช้แบบออนไลน์ เอกสารประกอบหรือ MSDN:
อินเทอร์เฟซของ DB OLE ที่ใช้ โดยตัวให้บริการ OLE DB .NET ข้อมูล
.aspx http://msdn.microsoft.com/en-us/library/cwctxe7a (v=vs.71)
สามารถเชื่อมต่อสายอักขระสำหรับตัวให้บริการข้อมูล SqlClient .NET ใช้องค์ประกอบจากสายอักขระการเชื่อมต่อ OLE DB หรือ ODBC ที่ มีหนึ่งหลัก ข้อยกเว้น: SqlClient .NET ข้อมูลผู้ให้บริการไม่สามารถใช้ชื่อแหล่งข้อมูล (Dsn), แฟ้ม Dsn แฟ้มผู้ใช้กำหนดชนิด (UDT) ในการบวก การ SqlClient ผู้ให้บริการข้อมูล.NET ไม่สามารถระบุองค์ประกอบของโปรแกรมควบคุมหรือผู้ให้บริการ

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับองค์ประกอบของสายอักขระที่พร้อมใช้งานกับวัตถุSqlConnectionการอ้างอิงไปยังหัวข้อต่อไปนี้ใน Visual Studio .NET ออนไลน์เอกสารวิธีใช้หรือ MSDN: ซึ่งแตกต่างจากรุ่นก่อนหน้านี้ของ ADO วัตถุที่เชื่อมต่อใน ADO.NET ไม่อนุญาตให้คุณเรียกใช้คำสั่ง คุณต้องใช้ คำสั่งวัตถุแทน นอกจากนี้ วิธีที่คุณควบคุมธุรกรรมใน ADO.NET จะแตกต่างที่อยู่ในรุ่นก่อนหน้าของ ADO

ถ้าคุณ เพิ่มการSqlCommandหรือOleDbCommandส่วนประกอบไปยังโปรแกรมประยุกต์ของคุณผ่านทางกล่องเครื่องมือ (บนแท็บฐานข้อมูล) คุณสามารถแก้ไขคุณสมบัติในขณะออกแบบที่ผ่านการ หน้าต่างคุณสมบัติ

คู่มือวิธีใช้แบบออนไลน์ของ visual Studio .NET
การเชื่อมต่อกับแหล่งข้อมูลโดยใช้ ADO.NET
.aspx http://msdn.microsoft.com/en-us/library/32c5dh3b (v=vs.71)

การเชื่อมต่อกับ SQL Server โดยใช้ ADO.NET
.aspx http://msdn.microsoft.com/en-us/library/aa719765 (v=vs.71)

การเชื่อมต่อร่วมกันสำหรับตัวให้บริการ SQL Server .NET ข้อมูล
.aspx http://msdn.microsoft.com/en-us/library/8xx3tyca (v=vs.71)

การเชื่อมต่อกับ OLE DB แหล่งข้อมูลที่มีการใช้ ADO.NET
.aspx http://msdn.microsoft.com/en-us/library/aa719763 (v=vs.71)

การเชื่อมต่อร่วมกันสำหรับตัวให้บริการ OLE DB .NET ข้อมูล
.aspx http://msdn.microsoft.com/en-us/library/aa719769 (v=vs.71)

การทำงานกับเหตุการณ์การเชื่อมต่อ
.aspx http://msdn.microsoft.com/en-us/library/a0hee08w (v=vs.80)
บทความในฐานความรู้ของ Microsoft
309485 วิธีการ: สร้างสายอักขระการเชื่อมต่อใน ADO.NET โดยทางโปรแกรม โดยใช้ Visual Basic .NET
310083 วิธีการ: สร้างสายอักขระการเชื่อมต่อใน ADO.NET โดยทางโปรแกรม โดยใช้ Visual C# .NET
308075 วิธีการ: ใช้แฟ้มการเชื่อมโยงข้อมูลกับวัตถุ OleDbConnection ใน Visual Basic .NET

คำสั่งและพารามิเตอร์

คุณสามารถใช้คำสั่งเพื่อเรียกใช้คำสั่งบนเซิร์ฟเวอร์ วิธีการดำเนินการมาในหลายแบบ:
  • ExecuteNonQuery ไม่มีผลผลิตที่คาดไว้
  • ExecuteScalar มีการส่งคืนผลลัพธ์สเกลาเท่านั้น
  • ExecuteReader กระแสข้อมูลของระเบียนที่ส่งกลับค่า
  • ExecuteXmlของSqlCommand ส่งกลับวัตถุ System.Xml.XmlReader จากการ SQL Server สำหรับ XML การสอบถาม
เมื่อต้องการควบคุมการดำเนินการคำสั่ง หรือเข้ารหัสข้อมูลใน คำสั่ง SQL หรือรวมข้อมูลผ่านวัตถุพารามิเตอร์ วิธีการที่ต้องจะใช้พารามิเตอร์ได้เนื่องจากคุณทำได้ ไม่จำเป็นต้องหลีกตัวคั่นและอักขระพิเศษอื่น ๆ ที่อาจเป็นผลมาจาก สคริปต์ SQL ที่ไม่ถูกต้อง นอกจากนั้น ให้บริการข้อมูล SqlClient .NET ที่ผูก พารามิเตอร์ตามชื่อ ดังนั้น คุณสามารถใช้พารามิเตอร์ใน SQL สคริปต์ และ คุณไม่จำเป็นต้องส่งข้อมูลหลายครั้ง

นอกจากนี้คุณสามารถอ่าน ข้อมูลกลับมาจากพารามิเตอร์ขาออก อย่างไรก็ตาม ถ้าคำสั่งส่งกลับค่าเป็นDataReaderคุณต้องเรียกการปิดหรือวิธีการตัดจำหน่ายในDataReaderก่อนที่คุณสามารถเข้าถึงค่าพารามิเตอร์แสดงผล เนื่องจากการ เซิร์ฟเวอร์ส่งค่าพารามิเตอร์ขาออกที่จุดสิ้นสุดของกระแสข้อมูลข้อมูล คุณ ต้องล้างข้อมูล หรือการประมวลผลหรือ ข้อมูลอยู่ระหว่างกลาง

ถ้าคุณเพิ่มคำ SqlCommandหรือOleDbCommandประกอบไปยังโปรแกรมประยุกต์ของคุณจากกล่องเครื่องมือ (บนแท็บฐานข้อมูล), คุณสามารถแก้ไขคุณสมบัติในขณะออกแบบที่ผ่านการ หน้าต่างคุณสมบัติ และสร้างคำสั่งผ่านทางการแสดงเป็นรูปภาพ ตัวออกแบบ

คู่มือวิธีใช้แบบออนไลน์ของ visual Studio .NET
ปฏิบัติการคำสั่ง
http://msdn.microsoft.com/en-us/library/tyy0sz6b.aspx

ใช้กระบวนงานที่เก็บไว้ ด้วยคำสั่ง
.aspx http://msdn.microsoft.com/en-us/library/yy6y35y8 (v=vs.71)

การขอรับค่าเดียวจากฐานข้อมูล
.aspx http://msdn.microsoft.com/en-us/library/hdt3k85x (v=vs.71)

การขอรับค่า BLOB จากฐานข้อมูล
.aspx http://msdn.microsoft.com/en-us/library/87z0hy49 (v=vs.71)

ทำการดำเนินการของแค็ตตาล็อก
.aspx http://msdn.microsoft.com/en-us/library/ye97aks6 (v=vs.71)

การปรับเปลี่ยนข้อมูลในฐานข้อมูล
.aspx http://msdn.microsoft.com/en-us/library/3btz0xwf (v=vs.71)

รับข้อมูลเป็น XML จาก SQL Server
.aspx http://msdn.microsoft.com/en-us/library/ke345d80 (v=vs.71)
Walkthroughs

ในดัชนีวิธีใช้ พิมพ์ Walkthroughs ข้อมูลและจากนั้น เลือกหัวข้อต่อไปนี้:
Walkthrough: ปรับปรุงข้อมูลโดยใช้แบบสอบถามการปรับปรุงฐานข้อมูลในแบบฟอร์มเว็บ
บทความในฐานความรู้ของ Microsoft
301075 วิธีการ: การเชื่อมต่อกับฐานข้อมูล และการเรียกใช้คำสั่ง โดยใช้ ADO.NET และ Visual Basic .NET
306636 วิธีการ: การเชื่อมต่อกับฐานข้อมูล และการเรียกใช้คำสั่ง โดยใช้ ADO .NET และ Visual C# .NET
308049 วิธีการ: เรียกกระบวนงานที่เก็บพารามิเตอร์หรือไม่ โดยใช้ ADO.NET และ Visual Basic .NET
310070 วิธีการ: เรียกกระบวนงานที่เก็บไว้ที่พารามิเตอร์ โดยใช้ ADO.NET และ Visual C# .NET
310071 วิธีการ: เรียกกระบวนงานที่เก็บไว้ที่พารามิเตอร์ โดยใช้ ADO .NET และ Visual C++ .NET
309486 วิธีการ: ปฏิบัติการ SQL พารามิเตอร์ขั้นตอนการจัดเก็บ โดยใช้ตัวให้บริการการ ODBC .NET และ Visual Basic .NET
310130 วิธีการ: ปฏิบัติการ SQL พารามิเตอร์ขั้นตอนการจัดเก็บ โดยใช้ตัวให้บริการการ ODBC .NET และ Visual C# .NET
310142 วิธีการ: ปฏิบัติการ SQL พารามิเตอร์ขั้นตอนการจัดเก็บ โดยใช้ตัวให้บริการการ ODBC .NET และ Visual C# .NET
305079 วิธีการ: สร้างฐานข้อมูล SQL Server โดยทางโปรแกรม โดยใช้ ADO.NET และ Visual Basic .NET
307283 วิธีการ: สร้างฐานข้อมูล SQL Server โดยทางโปรแกรม โดยใช้ ADO.NET และ Visual C# .NET
307402 วิธีการ: สร้างฐานข้อมูล SQL Server โดยทางโปรแกรม โดยใช้ ADO .NET และ Visual C++ .NET

ธุรกรรม

ใน Data Access Objects (DAO), วัตถุข้อมูลระยะไกล (RDO), หรือ ActiveX Data Objects (ADO), คุณใช้วิธีการของฐานข้อมูลหรือวัตถุเชื่อมต่อเพื่อควบคุมสถานะธุรกรรม ในข้อมูล.NET ผู้ให้บริการ คุณใช้วัตถุทรานแซคชันการควบคุมสถานะของธุรกรรม

เมื่อต้องการสร้างวัตถุใช้วิธีการBeginTransactionของวัตถุเชื่อมต่อ เมื่อต้องการยืนยัน หรือย้อนกลับธุรกรรม คุณสามารถใช้ วิธีการบนวัตถุธุรกรรม เนื่องจากผู้ OLE DB ให้บาง เช่น Microsoft Jet สนับสนุนทรานแซคชันที่ซ้อนกัน วัตถุOleDbTransactionรวมถึงวิธีการStartที่ส่งกลับวัตถุธุรกรรมอื่นที่มีขอบเขตภายในเพิ่มเติม

เมื่อคุณสร้างวัตถุทรานแซคชันคุณสามารถระบุระดับการแยกธุรกรรมที่ ถ้าคุณใช้ ระดับการแยกธุรกรรมอื่นที่ไม่ใช่ค่าเริ่มต้น รหัสของคุณอาจอ่านได้ ข้อมูลที่ยังไม่ผูกมัดโดยไม่คาดคิด นอกจากนี้ รหัสของคุณอาจสร้างมากเกินไป การล็อกบนเซิร์ฟเวอร์

คุณต้องกำหนดวัตถุไปยังคุณสมบัติของธุรกรรมของใบสั่งในใบสั่งนั้นสั่งให้เข้าร่วมในธุรกรรม ถ้าไม่มีฐานข้อมูล สนับสนุนธุรกรรมต่าง ๆ บนการเชื่อมต่อเดียวกัน คุณได้รับข้อยกเว้น ในระหว่างธุรกรรมเมื่อคุณพยายามที่จะเรียกใช้คำสั่งที่ไม่มีส่วนร่วมใน ธุรกรรม

นอกจากนี้คุณสามารถเรียกใช้คำสั่ง SQL ในการควบคุม ธุรกรรมบนเซิร์ฟเวอร์ อย่างไรก็ตาม รวมคำสั่ง SQL กับวัตถุ คุณอาจพบลักษณะการทำงานที่ไม่คาดคิด

คู่มือวิธีใช้แบบออนไลน์ของ visual Studio .NETบทความในฐานความรู้ของ Microsoft


DataReader

คุณสามารถใช้DataReaderวัตถุสามารถอ่านระเบียนจากเซิร์ฟเวอร์ฐานข้อมูล ใช้เมธอดCommand.ExecuteReaderเพื่อสร้างวัตถุDataReader สามารถรองรับการDataReader resultsets ทั้งหลาย และตามลำดับชั้น หรือ chaptered resultsets DataReaderใช้เคอร์เซอร์ ฝั่งเซิร์ฟเวอร์ ไปข้างหน้าอย่างเดียว/แบบอ่านอย่างเดียว โดยปกติDataReader buffers ทั้งระเบียน อย่างไรก็ตาม คุณสามารถกำหนดค่าสถานะในเมธอดCommand.ExecuteReaderเพื่อDataReader buffers เฉพาะเขตข้อมูลปัจจุบัน และทำการเปลี่ยนแปลงอื่น ๆ สำหรับ ประสิทธิภาพการทำงานเพิ่มเติม

DataReaderที่เดียวเท่านั้นจะสามารถเปิดในแต่ละครั้งบนใด ๆ ที่กำหนดให้การเชื่อมต่อ ซึ่งแตกต่างจาก ADO, ADO.NET เปิดการเพิ่มเติมการเชื่อมต่อเมื่อเรียกใช้กับบล็อกการเชื่อมต่อ คุณได้รับข้อยกเว้นแทน

คุณสามารถผูกเว็บ แบบฟอร์มตัวควบคุมการDataReaderเนื่องจากเว็บเพจที่จะถูกสร้างขึ้นตามลำดับ อย่างไรก็ตาม คุณ ไม่สามารถผูกตัวควบคุมฟอร์ม Windows การDataReaderเนื่องจากตัวควบคุมฟอร์ม Windows จำเป็นต้องเลื่อนเคอร์เซอร์ และ ผูกเข้ากับชุดข้อมูลแทน

คุณไม่สามารถเข้าถึงอยู่ภายใต้คำสั่งหรือการเชื่อมต่อวัตถุที่ได้จากการDataReader ดังนั้น ถ้าคุณผ่านการDataReaderเมื่อต้องการคอมโพเนนต์ที่ไม่น่าเชื่อถือ คอมโพเนนต์ไม่สามารถรัน คำสั่งที่เป็นอันตรายกับเซิร์ฟเวอร์ ถ้าคุณต้องการDataReaderเมื่อต้องการปิดการเชื่อมต่อโดยอัตโนมัติเมื่อคอมโพเนนต์การปิดวัตถุนั้น ตั้งค่าสถานะCloseConnectionในเมธอดCommand.ExecuteReader

คุณไม่สามารถส่งDataReaderจาก AppDomain ปัจจุบัน ถ้าคุณต้องการส่งผ่านข้อมูลไปยังอีก กระบวนการ การใช้เป็นชุดข้อมูล ผ่านมาระหว่าง หาสายอักขระการเชื่อมต่อและคำสั่ง ข้อความ แล้ว ให้แอพลิเคชันอื่น ๆ เพื่อสร้างการDataReaderในเครื่อง

คู่มือวิธีใช้แบบออนไลน์ของ visual Studio .NET
การดึงข้อมูลโดยใช้การ DataReader
.aspx http://msdn.microsoft.com/en-us/library/haa3afyz (v=vs.71)

ใช้กระบวนงานที่เก็บไว้ ด้วยคำสั่ง
.aspx http://msdn.microsoft.com/en-us/library/yy6y35y8 (v=vs.71)

การแจงนับ CommandBehavior
.aspx http://msdn.microsoft.com/en-us/library/system.data.commandbehavior (v=vs.71)
บทความในฐานความรู้ของ Microsoft
308278 วิธีการ: การค้นคืน และแสดงระเบียนจากฐานข้อมูล Access โดยใช้ ASP.NET, ADO.NET และ Visual Basic .NET
308100 วิธีการ: การค้นคืน และแสดงระเบียนจากฐานข้อมูล Access โดยใช้ ASP.NET, ADO.NET และ Visual C# .NET
309490 วิธีการ: จัดการผลลัพธ์หลายตัว โดยใช้การ DataReader ใน Visual Basic .NET
311274 วิธีการ: จัดการผลลัพธ์หลายตัว โดยใช้การ DataReader ใน Visual C# .NET
308045 วิธีการ: ใช้คำสั่งรูปร่างของ ADO มีการ DataReader ใน Visual Basic .NET
309130 วิธีการ: ใช้คำสั่งรูปร่างของ ADO มีการ DataReader ใน Visual C# .NET
310108 วิธีการ: เรียกดูเค้าร่างของคอลัมน์ โดยใช้วิธี GetSchemaTable DataReader และ Visual Basic .NET
310107 วิธีการ: เรียกดูเค้าร่างของคอลัมน์ โดยใช้วิธีการ DataReader GetSchemaTable และ Visual C# .NET
309683 วิธีการ: เรียกดูเค้าร่างของคอลัมน์ โดยใช้วิธี GetSchemaTable DataReader และ Visual C++ .NET
310348 วิธีการ: หลีกเลี่ยงการหักคะแนนบ็อกซิ่งเมื่อคุณใช้การ DataReader ใน Visual Basic .NET
312855 วิธีการ: หลีกเลี่ยงการหักคะแนนบ็อกซิ่งเมื่อคุณใช้การ DataReader ใน Visual C# .NET

จัดการข้อผิดพลาด

ข้อผิดพลาดที่ผู้ให้บริการข้อมูลที่คุณต้องยกกำลังข้อยกเว้นที่มีความเชี่ยวชาญ:
  • SqlException
  • OleDbException
  • OdbcException
คุณสามารถใช้คุณสมบัติของคลาสที่เหล่านี้เพื่อดูเพิ่มเติม ข้อมูลข้อผิดพลาดหรือไม่ เนื่องจากผู้ให้บริการข้อมูล SqlClient .NET ที่เชื่อมโยงกับ SQL Server คุณสามารถให้เซิร์ฟเวอร์เฉพาะข้อมูลในคลาSqlExceptionได้มากกว่าOleDbExceptionและOdbcExceptionคลาสที่ระบุ ผู้ให้บริการข้อมูลของ.NET อื่น ๆ ได้ด้วยตนเอง คลาสของข้อยกเว้นที่กำหนดเอง

มีข้อผิดพลาดของเซิร์ฟเวอร์ความรุนแรงต่ำหรือคำเตือน ส่งกลับค่าเป็นข้อความ การประมวลผลข้อผิดพลาดของเซิร์ฟเวอร์เหล่านี้ความรุนแรงต่ำ เพิ่มเหตุการณ์ ตัวจัดการสำหรับเหตุการณ์Connection.InfoMessage ข้อยกเว้น ชนิดอื่น ๆ เช่น InvalidArgumentException จะยกโดยตรงจากผู้ให้บริการข้อมูล.NET ระดับชั้น

เมื่อต้องการกำหนดคุณสมบัติที่แสดงข้อยกเว้น แบบสอบถามสำหรับคลาสข้อยกเว้นใน Visual Studio .NET ออนไลน์ช่วย คุณยังสามารถ แบบสอบถามสำหรับวิธีการเฉพาะเพื่อศึกษาข้อยกเว้นที่วิธีการนำเสนอภายใต้อะไร สถานการณ์

เพื่อให้แน่ใจว่า คุณไม่รั่วไหลระบบที่มีราคาแพง ทรัพยากร ปิดเปิดการเชื่อมต่อหรือการDataReaderวัตถุใด ๆ ในส่วนท้ายของตัวจัดการข้อยกเว้น ทรัพยากรระบบเหล่านี้ ล้างใน ระหว่างการรวบรวมขยะถัดไป หรือ เมื่อปิดแอพลิเคชัน ลง อย่างไรก็ตาม คุณอาจ exhaust พูลทรัพยากรก่อนเวลานั้น

คู่มือวิธีใช้แบบออนไลน์ของ visual Studio .NETตัวอย่างของการเริ่มด่วน

มีแสดงการจัดการข้อผิดพลาดเป็นส่วนหนึ่งของอื่น ๆ ตัวอย่างของการเริ่มด่วน

บทความในฐานความรู้ของ Microsoft
308043 วิธีการ: ได้รับข้อผิดพลาดของผู้ให้บริการต้นแบบ โดยใช้ ADO.NET ใน Visual Basic .NET
308650 วิธีการ: ได้รับข้อผิดพลาดของผู้ให้บริการต้นแบบ โดยใช้ ADO.NET ใน Visual C# .NET
308651 วิธีการ: ได้รับข้อผิดพลาดของผู้ให้บริการต้นแบบ โดยใช้ ADO.NET ใน.NET Visual C++

ฐานข้อมูลเฉพาะ

ฐานข้อมูลบางอย่างจำเป็นต้องใช้เทคนิคพิเศษในการดำเนินการบางอย่าง การดำเนินงาน ส่วนนี้แสดงรายการบางสถานการณ์สมมติทั่วไปมากขึ้น

บทความในฐานความรู้ของ Microsoft
308071 วิธีการ: เข้าถึงฐานข้อมูล Oracle โดยใช้ OleDbDataReader และ Visual Basic .NET
308448 วิธีการ: เข้าถึงฐานข้อมูล Oracle โดยใช้ OLE DB .NET ข้อมูลผู้ให้บริการและ Visual C# .NET
308073 วิธีการ: ใช้เป็น DataReader กับ Oracle มีกระบวนงานที่เก็บไว้ใน Visual Basic .NET
309361 วิธีการ: ใช้เป็น DataReader กับ Oracle มีกระบวนงานที่เก็บไว้ใน Visual C# .NET
309362 วิธีการ: ใช้ DataReader กับ Oracle มีกระบวนงานที่เก็บไว้ใน Visual C++ .NET

บรรลุความเป็นอิสระของผู้ให้บริการข้อมูล.NET

DAO และ Jet ลดความแตกต่างระหว่างฐานข้อมูลที่แตกต่างกัน ระบบ ดังนั้น คุณสามารถใช้พอร์ตโปรแกรมประยุกต์จากฐานข้อมูลหนึ่งไปยังอีก มีการเปลี่ยนแปลงน้อยมาก เอาตัวกลางที่ไว้ Jet สำหรับยิ่ง RDO และ ADO ประสิทธิภาพการทำงานและ การเปิดเผยการทำงานของเซิร์ฟเวอร์เฉพาะเพิ่มเติม อย่างไรก็ตาม นี้ ทำให้ยากต่อการพอร์ตโปรแกรมประยุกต์ระหว่างฐานข้อมูล

ADO.NET เพิ่มประสิทธิภาพการทำงานมากขึ้น แม้ว่า ADO.NET ประกอบด้วยระดับชั้นที่แยกต่างหากสำหรับ แต่ละการให้บริการข้อมูลใน.NET อย่างไรก็ตาม คุณสามารถใช้อินเทอร์เฟซมาตรฐาน และแยก รหัสเริ่มต้นเป็น "โรงงาน" ฟังก์ชันเพื่อลดจำนวนของโค้ด ว่า คุณต้องเปลี่ยน นอกจากนี้ วัตถุชุดข้อมูลแสดงวัตถุที่เป็นศูนย์กลางสำหรับการผูกข้อมูลและการใช้งานระยะไกล ที่จะไม่ขึ้นอยู่กับผู้ให้บริการ

คู่มือวิธีใช้แบบออนไลน์ของ visual Studio .NET
การเขียนรหัสทั่วไปสำหรับผู้ให้บริการข้อมูล.NET
.aspx http://msdn.microsoft.com/en-us/library/aa720704 (v=vs.71)
บทความในฐานความรู้ของ Microsoft
308046 วิธีการ: ใช้คลาสพื้นฐานเพื่อลดรหัส Forking กับผู้ให้บริการที่ได้รับการจัดการใน Visual Basic .NET
313304 วิธีการ: ใช้คลาสพื้นฐานเพื่อลดรหัส Forking โดยใช้ Visual C# .NET

เขียน.NET ข้อมูลผู้ให้บริการ

ถ้าคุณเขียน.NET ข้อมูลผู้ให้บริการ คุณสามารถเข้าถึงข้อมูลที่ ไม่ให้บริการ OLE DB หรือโปรแกรมควบคุม ODBC ไม่ คุณยังสามารถเขียนตัวให้บริการข้อมูล ที่สุดสำหรับฐานข้อมูลเฉพาะเจาะจง

เนื่องจากข้อมูล ผู้ให้บริการจัดการในชุดข้อมูล(ซึ่งแตกต่างจาก ADO Recordsetซึ่งควบคุมการ OLE DB Provider) มีไม่สอดคล้อง ความต้องการ คุณสามารถเขียนฟังก์ชันที่ สามารถอ่านข้อมูล และเมื่อต้อง การเพิ่มข้อมูลไปยังชุดข้อมูล อีกวิธีหนึ่งคือ คุณสามารถเขียนตัวให้บริการข้อมูลที่สมบูรณ์กับวัตถุการเชื่อมต่อฯลฯ

คู่มือวิธีใช้แบบออนไลน์ของ visual Studio .NET
การใช้ตัวให้บริการข้อมูล.NET
.aspx http://msdn.microsoft.com/en-us/library/4ksaf9z5 (v=vs.71)

การใช้การเชื่อมต่อ
.aspx http://msdn.microsoft.com/en-us/library/6sc13hd1 (v=vs.71)

การปฏิบัติตามคำสั่ง
.aspx http://msdn.microsoft.com/en-us/library/efdwa0z6 (v=vs.71)

การใช้เป็น DataReader
.aspx http://msdn.microsoft.com/en-us/library/5awcy9t0 (v=vs.71)

การปฏิบัติตามการ DataAdapter
.aspx http://msdn.microsoft.com/en-us/library/08a1x80z (v=vs.71)

ตัวอย่างการให้บริการข้อมูล.NET
.aspx http://msdn.microsoft.com/en-us/library/26xsd945 (v=vs.71)
บทความของ MSDN
ADO.NET: สร้างตัวให้บริการข้อมูลที่กำหนดเองสำหรับใช้กับกรอบการเข้าถึงข้อมูลของ.NET (วารสาร MSDN ฉบับ)
http://msdn.microsoft.com/en-us/magazine/cc301611.aspx

การแก้ไขปัญหา

ถ้าคุณพบปัญหา และจำเป็นคำตอบสำหรับคำถามของคุณ ดูกลุ่มข่าวสารของ MSDN กลุ่มข่าวสารของ MSDN จะดีสุดเพื่อขอรับ คำตอบสำหรับคำถามของคุณ ในกลุ่มข่าวสาร MSDN คุณสามารถใช้ร่วมกันของคุณ ประสบการณ์กับเพื่อนหรือการค้นหาฐานความรู้ของ Microsoft สำหรับบทความของคุณ เกี่ยวกับปัญหาที่เฉพาะเจาะจง
กลุ่มข่าวสารของ MSDN
http://msdn.microsoft.com/newsgroups/

ฐานความรู้ของ Microsoft
http://support.microsoft.com/search
ฐานข้อมูล back-end

คำเตือน: บทความนี้ได้รับการแปลโดยอัตโนมัติ

คุณสมบัติ

รหัสบทความ: 313480 - การตรวจสอบครั้งสุดท้าย: 12/07/2015 08:14:27 - ฉบับแก้ไข: 2.0

Microsoft ADO.NET 1.1

  • kbnosurvey kbarchive kbarttyperoadmap kbinfo kboracle kbsqlclient kbsystemdata kbmt KB313480 KbMtth
คำติชม
ERROR: at System.Diagnostics.Process.Kill() at Microsoft.Support.SEOInfrastructureService.PhantomJS.PhantomJSRunner.WaitForExit(Process process, Int32 waitTime, StringBuilder dataBuilder, Boolean isTotalProcessTimeout)