Bỏ qua để tới nội dung chính
Đăng nhập với Microsoft
Đăng nhập hoặc tạo một tài khoản.
Xin chào,
Chọn một tài khoản khác.
Bạn có nhiều tài khoản
Chọn tài khoản bạn muốn đăng nhập.

Tóm tắt

Bài viết này mô tả sau phiên bản hotfix này:

  • Sự cố được khắc phục trong gói hotfix

  • Điều kiện tiên quyết để cài đặt gói hotfix

  • Cho dù bạn phải khởi động lại máy tính sau khi bạn cài đặt gói hotfix

  • Xem gói hotfix được thay thế bằng bất kỳ hotfix gói

  • Cho dù bạn phải thực hiện bất kỳ thay đổi sổ đăng ký

  • Các tệp được chứa trong gói hotfix

Triệu chứng

Xem xét kịch bản sau đây. Ứng dụng sử dụng Microsoft ADO.NET Entity Framework được bao gồm trong Microsoft .NET Framework 3.5 gói dịch vụ 1 để truy cập cơ sở dữ liệu Microsoft SQL Server Compact 3.5. Trong ứng dụng, bạn chạy truy vấn "LINQ để tổ chức" sử dụng tham số chuỗi hoặc số nhị phân với cơ sở dữ liệu. Trong trường hợp này, bạn nhận được thông báo lỗi khi bạn chạy ứng dụng:

Loại dữ liệu ntext và hình ảnh không được sử dụng, HAVING, nhóm, trên hoặc mệnh đề, ngoại trừ khi các loại dữ liệu được sử dụng với muốn hoặc NULL predicates.

Nguyên nhân

Khi bạn sử dụng tham số truy vấn "LINQ để tổ chức" trong ứng dụng, bạn không thể xác định loại cơ sở dữ liệu cơ sở. Nhà cung cấp SQL Server Compact Entity Framework cố gắng tạo ra một số nhà cung cấp cấp dựa trên mô hình dữ liệu thực thể (EDM) các khía cạnh của các tham số ban đầu. SQL Server Compact không hỗ trợ loại dữ liệu nvarchar(max) hoặc nhập dữ liệu varbinary(max) . Do đó, khi nhà cung cấp chọn kiểu dữ liệu cho một số loại dữ liệu Edm.String hoặc loại dữ liệu Edm.Binary , nhà cung cấp đã đánh dấu các tham số là một trong các loại dữ liệu dựa trên các khía cạnh EDM tham số:

  • Đối với tham số chuỗi nhà cung cấp chọn loại dữ liệu nvarchar(4000) hoặc nhập dữ liệu ntext .

  • Đối với một số nhị phân, nhà cung cấp chọn loại dữ liệu varbinary(4000) hoặc nhập dữ liệu hình ảnh .

Nếu nhà cung cấp đánh dấu các tham số kiểu dữ liệu nvarchar(4000) hoặc kiểu dữ liệu varbinary(4000) , lỗi xảy ra khi bạn cố gắng nhập giá trị lớn hơn 8000 byte. Ngoài ra, nếu nhà cung cấp đánh dấu các tham số kiểu dữ liệu ntext hoặc nhập dữ liệu hình ảnh , lỗi xảy ra nếu bất kỳ hoạt động bình đẳng, nhóm hoạt động hoặc sắp xếp các hoạt động đang được thực hiện trên các tham số.

Giải pháp

Thông tin về cập nhật nóng

Cập nhật nóng được hỗ trợ do Microsoft cung cấp. Tuy nhiên, cập nhật nóng này chỉ được dùng để khắc phục sự cố được mô tả trong bài viết này. Chỉ áp dụng cập nhật nóng này cho hệ thống đang gặp sự cố được mô tả trong bài viết này. Cập nhật nóng này có thể được kiểm tra thêm. Vì vậy, nếu bạn không bị ảnh hưởng nghiêm trọng bởi sự cố này, chúng tôi khuyên bạn đợi bản cập nhật phần mềm tiếp theo có chứa cập nhật nóng này.

Nếu cập nhật nóng này sẵn có để tải xuống thì sẽ có phần "Cập nhật nóng có sẵn để tải xuống" ở đầu bài viết Cơ sở Kiến thức này. Nếu phần này không xuất hiện, hãy liên hệ với Dịch vụ Khách hàng và Bộ phận Hỗ trợ của Microsoft để nhận được các cập nhật nóng.

Lưu ý Nếu sự cố khác xảy ra hoặc nếu cần khắc phục sự cố, bạn có thể phải tạo một yêu cầu dịch vụ riêng. Chi phí hỗ trợ thông thường sẽ tính cho các câu hỏi hỗ trợ bổ sung và các sự cố không phù hợp với cập nhật nóng cụ thể này. Để có danh sách đầy đủ số điện thoại hỗ trợ và dịch vụ khách hàng của Microsoft hoặc để tạo yêu cầu dịch vụ riêng, hãy ghé thăm Trang web sau của Microsoft:

http://support.microsoft.com/contactus/?ws=supportLưu ý Mẫu "Tải xuống cập nhật nóng sẵn có" hiển thị các ngôn ngữ mà cập nhật nóng này sẵn có. Nếu bạn không thấy ngôn ngữ của mình thì đó là do cập nhật nóng này hiện không có ngôn ngữ đó.

Điều kiện tiên quyết

Để áp dụng hotfix này, bạn phải gỡ cài đặt máy đã cài đặt SQL Server Compact 3.5 gói dịch vụ 1 cài đặt tệp .msi được cung cấp với hotfix này. Nếu bạn không gỡ bỏ bản đã cài đặt SQL Server Compact 3.5 gói dịch vụ 1, bạn nhận được thông báo lỗi cài đặt cho biết phiên bản mới hơn của SQL Server Compact đã được cài đặt. Để biết thêm thông tin về SQL Server Compact 3.5 gói dịch vụ 1, bấm vào số bài viết sau để xem bài viết trong cơ sở kiến thức Microsoft:

955965 về SQL Server Compact 3.5 gói dịch vụ 1

Thông tin khởi động lại

Bạn không phải khởi động lại máy tính sau khi bạn áp dụng hotfix này.

Thông tin đăng ký

Bạn không phải thay đổi sổ đăng ký.

Thông tin tập tin hotfix

Hotfix này chỉ chứa các tệp cần thiết để khắc phục sự cố mà bài viết này liệt kê. Hotfix này có thể chứa tất cả các tệp mà bạn phải hoàn toàn Cập nhật sản phẩm lên bản mới nhất.

Phiên bản tiếng Anh của cập nhật nóng này có các thuộc tính tệp (hoặc thuộc tính tệp mới hơn) được liệt kê trong bảng sau. Ngày và giờ của các tệp này được liệt kê theo Giờ Quốc tế Phối hợp (UTC). Khi bạn xem thông tin về tệp, ngày và giờ được chuyển đổi thành giờ địa phương. Để tìm sự khác nhau giữa UTC và giờ địa phương, sử dụng tab Múi Giờ trong mục Ngày và Giờ trong Pa-nen điều khiển.

Tên tệp

Phiên bản tệp

Kích thước tệp

Ngày

Giờ

Nền tảng

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

Trạng thái

Microsoft đã xác nhận rằng đây là sự cố trong sản phẩm của Microsoft được liệt kê trong phần "Áp dụng cho".

Thông tin

Sau khi bạn áp dụng hotfix này, các nhà cung cấp không đoán loại dữ liệu cho tham số EDM. Chuỗi loại dữ liệu hoặc EDM. Nhị phân loại dữ liệu. Bộ xử lý truy vấn chọn kiểu dữ liệu chính xác cho tham số này dựa trên giá trị hoặc cột mà tham số tương đương hoặc với tham số được sử dụng.

Ví dụ: trong các truy vấn thực thể SQL sau, bộ xử lý truy vấn chọn loại dữ liệu ntext cho tham số tên trước khi bạn áp dụng hotfix này.

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

Sau khi bạn áp dụng hotfix này, loại First_Name cột dữ liệu được chọn cho tham số name .

Tuy nhiên, trong ví dụ sau, truy vấn "LINQ để tổ chức" không thành công vì tham số name tương đương với không sử dụng bất kỳ giá trị nào khác hoặc một cột.

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

Hotfix này cũng giải quyết vấn đề được mô tả trong tài liệu readme cho SQL Server Compact 3.5. Để biết thêm thông tin, hãy xem phần "SQL Server Compact 3.5 SP1 chạy sự cố cho bộ ADO.NET Entity Framework" của Microsoft Web site sau của:

http://download.microsoft.com/download/2/e/c/2ec70436-aef2-4ccb-93a3-ea2f3e20f77d/ReadmeSSC35.htmHotfix này khắc phục sự cố liên quan đến câu lệnh Transact-SQL không đúng được tạo ra khi các nhà cung cấp chuyển vô hướng subqueries để áp dụng cấu trúc.

Lưu ý Tương quan subqueries được chuyển đổi thành vô hướng subqueries nội bộ. Tương quan subqueries không được hỗ trợ trong phiên bản này. Khi bạn chạy các truy vấn, bạn nhận được thông báo lỗi sau:

Lỗi xảy ra trong khi thực hiện lệnh định. Xem ngoại lệ bên trong để biết chi tiết.

Ngoại lệ bên trong chứa thông báo sau:

Đã xảy ra lỗi phân tích cú pháp truy vấn. [..., Mã thông báo lỗi = AS]

Lý do là ADO.NET Entity Framework dịch truy vấn nhập như một truy vấn có loại tham gia qua áp dụng kiểu tham gia áp dụng bên ngoài. Nếu bên trong các điều kiện tham gia trả lại giá trị vô hướng, tham gia chuyển thành một câu vô hướng. Nhà cung cấp ADO.NET Entity Framework cho SQL Server Compact đã chuyển đổi câu vô hướng là một truy vấn tương đương có áp dụng bên ngoài liên kết loại, được hỗ trợ bởi SQL Server Compact. Tuy nhiên, trong phiên bản này, chuyển đổi này không thực hiện đúng cách. Ví dụ: lỗi xảy ra đối với truy vấn sau đây trong phiên bản này.

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());
}
}

Để biết thêm thông tin về giản đồ đặt tên cho bản Cập Nhật SQL Server, hãy bấm vào số bài viết sau để xem bài viết trong cơ sở kiến thức Microsoft:

822499 giản đồ đặt tên mới cho phần mềm Microsoft SQL Server Cập Nhật gói

Để biết thêm thông tin về thuật ngữ cập nhật phần mềm, hãy bấm vào số bài viết sau để xem bài viết trong Cơ sở Kiến thức Microsoft:

824684 mô tả thuật ngữ chuẩn được sử dụng để miêu tả các bản cập nhật phần mềm Microsoft

Bạn cần thêm trợ giúp?

Bạn muốn xem các tùy chọn khác?

Khám phá các lợi ích của gói đăng ký, xem qua các khóa đào tạo, tìm hiểu cách bảo mật thiết bị của bạn và hơn thế nữa.

Cộng đồng giúp bạn đặt và trả lời các câu hỏi, cung cấp phản hồi và lắng nghe ý kiến từ các chuyên gia có kiến thức phong phú.

Thông tin này có hữu ích không?

Bạn hài lòng đến đâu với chất lượng dịch thuật?
Điều gì ảnh hưởng đến trải nghiệm của bạn?
Khi nhấn gửi, phản hồi của bạn sẽ được sử dụng để cải thiện các sản phẩm và dịch vụ của Microsoft. Người quản trị CNTT của bạn sẽ có thể thu thập dữ liệu này. Điều khoản về quyền riêng tư.

Cảm ơn phản hồi của bạn!

×