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

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 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:
http://msdn2.microsoft.com/en-us/data/aa937730.aspx
บทความของ 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 และสตริงการเชื่อมต่อ
คลิกที่นี่เพื่อดูรายการของบทความ How To เกี่ยวกับผู้ให้บริการข้อมูล.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:
คุณสมบัติ SqlConnection.ConnectionString
http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.connectionstring.aspx
ซึ่งแตกต่างจากรุ่นก่อนหน้านี้ของ 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
คลิกที่นี่เพื่อดูรายการของบทความ How To เกี่ยวกับคำสั่ง

ธุรกรรม

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

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

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

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

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

คู่มือวิธีใช้แบบออนไลน์ของ visual Studio .NET
การทำธุรกรรม
.aspx http://msdn.microsoft.com/en-us/library/777e5ebh (v=vs.80)

การแจงนับ IsolationLevel
.aspx http://msdn.microsoft.com/en-us/library/system.data.isolationlevel (v=vs.71)
บทความในฐานความรู้ของ Microsoft

คลิกที่นี่เพื่อดูรายการของบทความ How To เกี่ยวกับธุรกรรม

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
คลิกที่นี่เพื่อดูรายการของบทความ How To เกี่ยวกับ DataReader

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

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

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

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

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

คู่มือวิธีใช้แบบออนไลน์ของ visual Studio .NET
คลาส SqlException
.aspx http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlexception (v=vs.71)

คลาส SqlError
.aspx http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlerror (v=vs.71)

คลาส OleDbException
.aspx http://msdn.microsoft.com/en-us/library/system.data.oledb.oledbexception (v=vs.71)

คลาส OleDbError
.aspx http://msdn.microsoft.com/en-us/library/system.data.oledb.oledberror (v=vs.71)
ตัวอย่างของการเริ่มด่วน

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

บทความในฐานความรู้ของ 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
คลิกที่นี่เพื่อดูรายการของบทความ How To เกี่ยวกับ Oracle

บรรลุความเป็นอิสระของผู้ให้บริการข้อมูล.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

คุณสมบัติ

หมายเลขบทความ (Article ID): 313480 - รีวิวครั้งสุดท้าย: 28 มิถุนายน 2556 - Revision: 2.0
ใช้กับ
  • Microsoft ADO.NET 1.1
Keywords: 
kbarttyperoadmap kbinfo kboracle kbsqlclient kbsystemdata kbmt KB313480 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:313480
การปฏิเสธความรับผิดชอบในเนื้อหาของ KB ที่จะไม่มีการปรับปรุงอีกต่อไป
บทความนี้กล่าวถึงผลิตภัณฑ์ที่ Microsoft ไม่มีการสนับสนุนอีกต่อไป เนื้อหาของบทความจึงมีการนำเสนอ "ตามลักษณะที่เป็น" และจะไม่มีการปรับปรุงข้อมูลอีก

ให้ข้อเสนอแนะ

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com