ข้ามไปที่เนื้อหาหลัก
การสนับสนุน
ลงชื่อเข้าใช้
ลงชื่อเข้าใช้ด้วย Microsoft
ลงชื่อเข้าใช้หรือสร้างบัญชี
สวัสดี
เลือกบัญชีอื่น
คุณมีหลายบัญชี
เลือกบัญชีที่คุณต้องการลงชื่อเข้าใช้

สรุป

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

  • การตัดสินค้าจากคลังที่คงที่ ด้วยแพคเกจโปรแกรมแก้ไขด่วน

  • การข้อกำหนดเบื้องต้นสำหรับการติดตั้งแพคเกจโปรแกรมแก้ไขด่วน

  • ว่าคุณต้องรีสตาร์ทเครื่องคอมพิวเตอร์หลังจากที่คุณติดตั้งแพคเกจโปรแกรมแก้ไขด่วน

  • ว่าแพคเกจโปรแกรมแก้ไขด่วนถูกแทนที่ ด้วยแพคเกจโปรแกรมแก้ไขด่วนอื่น ๆ

  • ว่าคุณต้องทำการเปลี่ยนแปลงรีจิสทรี

  • แฟ้มที่มีอยู่ในแพคเกจโปรแกรมแก้ไขด่วน

อาการ

พิจารณาสถานการณ์สมมติต่อไปนี้ โปรแกรมประยุกต์ใช้ Microsoft ADO.NET เอนทิตีกรอบที่รวมอยู่ในการ Microsoft .NET Framework 3.5 Service Pack 1 เพื่อเข้าถึงฐานข้อมูล Microsoft SQL Server 3.5 แบบกระชับ ในแอพลิเคชัน เรียกใช้ "LINQ กับเอนทิตี" แบบสอบถามที่ใช้พารามิเตอร์สตริงการหรือพารามิเตอร์ไบนารีกับฐานข้อมูล ในสถานการณ์สมมตินี้ คุณได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้เมื่อคุณเรียกใช้แอพลิเคชัน:

ไม่สามารถใช้ชนิดข้อมูล ntext และรูปในซึ่ง HAVING, GROUP BY หรือ ในส่วนคำ สั่ง ยกเว้นเมื่อมีใช้ชนิดข้อมูลเหล่านี้ มีลักษณะเหมือน หรือเป็นเพรดิเคต NULL

สาเหตุ

เมื่อคุณใช้พารามิเตอร์สำหรับแบบสอบถาม "LINQ กับเอนทิตี" ในแอพลิเคชัน คุณไม่สามารถระบุชนิดของฐานข้อมูลพื้นฐาน ตัวให้บริการ SQL Server แบบกระชับเอนทิตีกรอบการทำงานพยายามสร้างพารามิเตอร์ระดับการให้บริการตาม facets เอนทิตีข้อมูลแบบจำลอง (EDM) ของพารามิเตอร์เดิม กระชับข้อมูลของ SQL Server ไม่สนับสนุนชนิดข้อมูลnvarchar(max)หรือชนิดข้อมูลแบบvarbinary(max) ดังนั้นจึง เมื่อผู้ให้บริการที่เลือกเป็นชนิดข้อมูลสำหรับพารามิเตอร์ ของชนิดข้อมูลแบบEdm.Stringหรือชนิดข้อมูลEdm.Binaryผู้ให้บริการที่มีการทำเครื่องหมายพารามิเตอร์เป็นชนิดข้อมูลต่อไปนี้ตาม facets EDM ของพารามิเตอร์:

  • สำหรับพารามิเตอร์สตริ ผู้ให้บริการที่เลือกชนิดข้อมูลnvarchar(4000)หรือชนิดข้อมูลntext

  • สำหรับพารามิเตอร์ไบนารี ผู้ให้บริการที่เลือกชนิดข้อมูลvarbinary(4000)หรือชนิดข้อมูลรูป

ถ้าผู้ให้บริการที่ทำเครื่องหมายพารามิเตอร์ เป็นชนิดข้อมูลnvarchar(4000)หรือ เป็นชนิดข้อมูลvarbinary(4000)ข้อผิดพลาดเกิดขึ้นเมื่อคุณพยายามที่จะแทรกค่าที่มีขนาดใหญ่กว่าถึง 8000 ไบต์ นอกจากนี้ ถ้าผู้ให้บริการที่ทำเครื่องหมายพารามิเตอร์ เป็นชนิดข้อมูลntextหรือ เป็นข้อมูลชนิดรูปข้อผิดพลาดเกิดขึ้นหากใด ๆ เท่ากันการดำเนินงาน การดำเนินงานที่จัดกลุ่ม หรือเรียงลำดับการดำเนินการกำลังดำเนินการในพารามิเตอร์

การแก้ปัญหา

ข้อมูลโปรแกรมแก้ไขด่วน

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

หากโปรแกรมแก้ไขด่วนพร้อมสำหรับการดาวน์โหลด คุณจะเห็นส่วน "มีโปรแกรมแก้ไขด่วนพร้อมสำหรับการดาวน์โหลด" ที่ด้านบนของบทความฐานข้อมูลองค์ความรู้นี้ หากส่วนนี้ไม่ปรากฏขึ้น ติดต่อฝ่ายสนับสนุนและบริการลูกค้าของ Microsoft เพื่อขอรับโปรแกรมแก้ไขด่วน

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

http://support.microsoft.com/contactus/?ws=supportหมายเหตุ แบบฟอร์ม "มีโปรแกรมแก้ไขด่วนพร้อมสำหรับการดาวน์โหลด" แสดงภาษาที่โปรแกรมแก้ไขด่วนพร้อมใช้งาน ถ้าคุณไม่เห็นภาษาของคุณ อาจเป็น เพราะไม่มีโปรแกรมแก้ไขด่วนพร้อมใช้งานสำหรับภาษานั้น

ข้อกำหนดเบื้องต้น

เมื่อต้องการใช้โปรแกรมแก้ไขด่วนนี้ คุณต้องถอนการติดตั้งไว้ก่อนหน้า SQL Server แบบกระชับ 3.5 Service Pack 1 การติดตั้งแฟ้ม.msi ที่ให้ไว้ โดยโปรแกรมแก้ไขด่วนนี้ ถ้าคุณถอนการติดตั้งติดตั้งไว้ก่อนหน้า SQL Server แบบกระชับ 3.5 Service Pack 1 คุณได้รับข้อผิดพลาดการติดตั้งที่ระบุว่า ติดตั้งรุ่นที่ใหม่กว่า SQL Server กระชับแล้ว สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ SQL Server แบบกระชับ 3.5 Service Pack 1 โปรดคลิกที่หมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:

955965คำอธิบายของ SQL Server แบบกระชับ 3.5 Service Pack 1

ข้อมูลการเริ่มระบบใหม่

คุณไม่ต้องรีสตาร์ทคอมพิวเตอร์หลังจากใช้โปรแกรมแก้ไขด่วนนี้

ข้อมูลรีจิสทรี

คุณไม่จำเป็นต้องเปลี่ยนแปลงรีจิสทรี

รายละเอียดแฟ้มโปรแกรมแก้ไขด่วน

โปรแกรมแก้ไขด่วนนี้ประกอบด้วยเฉพาะไฟล์ต่าง ๆ ที่จำเป็นเมื่อต้องการแก้ไขปัญหาที่บทความนี้ โปรแกรมแก้ไขด่วนนี้อาจไม่ประกอบด้วยแฟ้มทั้งหมดที่คุณต้องมีเพื่อปรับปรุงผลิตภัณฑ์อย่างสมบูรณ์ไปเป็นรุ่น

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

ชื่อแฟ้ม

รุ่นของแฟ้ม

ขนาดของแฟ้ม

วันที่

เวลา

แพลตฟอร์ม

System.data.sqlserverce.entity.dll

3.5.5692.1

230,480

24-Sep-2008

06:46

x86/x64/IA-64

System.data.sqlserverce.dll

3.5.5692.1

271,440

24-Sep-2008

06:46

x86/x64

Policy.3.5.system.data.sqlserverce.dll

3.5.5692.1

13,392

24-Sep-2008

06:46

x86/x64

Policy.3.5.system.data.sqlserverce.entity.dll

3.5.5692.1

13,392

24-Sep-2008

06:46

x86/x64

Sqlceca35.dll

3.5.5692.1

343,104

24-Sep-2008

08:07

x86

Sqlcecompact35.dll

3.5.5692.1

84,544

24-Sep-2008

08:07

x86

Sqlceer35en.dll

3.5.5692.1

148,032

24-Sep-2008

08:07

x86

Sqlceme35.dll

3.5.5692.1

65,088

24-Sep-2008

08:07

x86

Sqlceoledb35.dll

3.5.5692.1

172,608

24-Sep-2008

08:07

x86

Sqlceqp35.dll

3.5.5692.1

644,160

24-Sep-2008

08:07

x86

Sqlcese35.dll

3.5.5692.1

348,224

24-Sep-2008

08:07

x86

สถานะ

Microsoft ยืนยันว่านี่เป็นปัญหาในผลิตภัณฑ์ของ Microsoft ซึ่งแสดงไว้ในส่วน "นำไปใช้กับ"

ข้อมูลเพิ่มเติม

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

ตัวอย่างเช่น ในการสอบถาม SQL ของเอนทิตีต่อไปนี้ ตัวประมวลผลแบบสอบถามเลือกชนิดข้อมูลntextสำหรับพารามิเตอร์ชื่อก่อนที่จะใช้โปรแกรมแก้ไขด่วนนี้

String name = "XYZ";var q = from e in nwind.Employees
where e.First_Name = name
select e;

หลังจากที่คุณใช้โปรแกรมแก้ไขด่วนนี้ มีเลือกชนิดข้อมูลของคอลัมน์ชื่อสำหรับชื่อพารามิเตอร์

อย่างไรก็ตาม ในตัวอย่างต่อไปนี้ แบบสอบถาม "LINQ กับเอนทิตี" ล้มเหลวเนื่องจากชื่อพารามิเตอร์ไม่ใช่ equated กับ หรือใช้กับค่าหรือคอลัมน์อื่น ๆ

String name = "XYZ";var q = from e in nwind.Employees
select name;

นอกจากนี้โปรแกรมแก้ไขด่วนนี้ยังแก้ปัญหาที่ทราบที่อธิบายไว้ในเอกสาร readme สำหรับ 3.5 แบบย่อของเซิร์ฟเวอร์ SQL สำหรับข้อมูลเพิ่มเติม โปรดดูส่วน "SQL Server กระชับข้อมูล 3.5 SP1 รันไทม์ปัญหาสำหรับตัว ADO.NET เอนทิตีกรอบ" ไปที่เว็บไซต์ต่อไปนี้ของ Microsoft:

http://download.microsoft.com/download/2/e/c/2ec70436-aef2-4ccb-93a3-ea2f3e20f77d/ReadmeSSC35.htmโปรแกรมแก้ไขด่วนนี้ช่วยแก้ไขปัญหาที่เกี่ยวข้องกับคำสั่ง SQL คำสั่งกลุ่มไม่ถูกต้องที่สร้างขึ้นเมื่อตัวให้บริการการแปลงแบบสอบถามย่อยสเกลาเพื่อใช้โครงสร้าง

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

มีข้อผิดพลาดเกิดขึ้นขณะดำเนินการคำสั่ง ดูข้อยกเว้นภายในสำหรับรายละเอียด

ข้อยกเว้นภายในประกอบด้วยข้อความต่อไปนี้:

มีข้อผิดพลาดในการแยกวิเคราะห์แบบสอบถาม [..., โทเค็นในข้อผิดพลาด = AS]

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

C# Sample Application:using (NorthwindEntities nwEntities = new NorthwindEntities())
{
var orders = nwEntities.Employees
.Select(employee => employee.Orders.Max(order => order.Order_ID));
foreach (var order in orders)
{
Console.WriteLine(order.ToString());
}
}

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับแบบแผนการตั้งชื่อสำหรับการปรับปรุง SQL Server คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:

แพคเกจการปรับปรุง schema ตั้งชื่อใหม่822499สำหรับซอฟต์แวร์ของ Microsoft SQL Server

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับศัพท์เฉพาะในการปรับปรุงซอฟต์แวร์ ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:

824684คำอธิบายของคำศัพท์มาตรฐานที่ใช้เพื่ออธิบายปรับปรุงซอฟต์แวร์ของ Microsoft

ต้องการความช่วยเหลือเพิ่มเติมหรือไม่

ต้องการตัวเลือกเพิ่มเติมหรือไม่

สํารวจสิทธิประโยชน์ของการสมัครใช้งาน เรียกดูหลักสูตรการฝึกอบรม เรียนรู้วิธีการรักษาความปลอดภัยอุปกรณ์ของคุณ และอื่นๆ

ชุมชนช่วยให้คุณถามและตอบคําถาม ให้คําติชม และรับฟังจากผู้เชี่ยวชาญที่มีความรู้มากมาย

ข้อมูลนี้เป็นประโยชน์หรือไม่

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

ขอบคุณสำหรับคำติชมของคุณ!

×