GIỚI THIỆU

Bài viết này mô tả Microsoft SQL Server Compact 3,5 Service Pack 1 (SP1). SQL Server Compact 3,5 SP1 Cập Nhật phiên bản phát hành của SQL Server Compact 3,5. Bài viết này bao gồm các mục sau đây:

Thông tin Bổ sung

Ghi chú phát hành

Lịch sử Phiên bản

Danh sách sau đây chứa các bản phát hành khác của Microsoft SQL Server compact:

  • Phiên bản 3,5 SP1 Gói dịch vụ 3,5 Compact của Microsoft SQL Server 1 (SP1). Gói dịch vụ này đã được phát hành cùng với Microsoft Visual Studio 2008 Service Pack 1 (SP1) và với Microsoft SQL Server 2008.

  • Phiên bản 3,5 Microsoft SQL Server Compact 3,5. Phiên bản này được phát hành cùng với Microsoft Visual Studio 2008.

  • Phiên bản 3,1 Phiên bản thu gọn của Microsoft SQL Server 2005. Phiên bản này được phát hành cùng lúc để tích hợp với Microsoft Visual Studio 2005 gói dịch vụ 1 (SP1) và với Microsoft SQL Server 2005 Service Pack 2 (SP2).

  • Phiên bản 3,0 Microsoft SQL Server 2005 Phiên bản di động (SQL Server Mobile). Phiên bản này được phát hành cùng với Microsoft Visual Studio 2005 và với Microsoft SQL Server 2005.

  • Phiên bản 2,0 Microsoft SQL Server 2000 Windows CE Edition 2,0 (SQL Server CE 2,0). Phiên bản này được phát hành cùng với Microsoft Visual Studio 2003.

Các tính năng mới

SQL Server Compact 3,5 SP1 bao gồm các tính năng mới sau đây:

  • Hỗ trợ cho khuôn khổ thực thể ADO.NET. Khuôn khổ thực thể cho phép bạn làm việc với dữ liệu trong biểu mẫu của các đối tượng và thuộc tính cụ thể của tên miền, chẳng hạn như các địa chỉ khách hàng và khách hàng, mà không cần phải quan tâm đến bản thân bạn với các bảng và cột cơ sở dữ liệu, trong đó dữ liệu này được lưu trữ. Lưu ý Hỗ trợ cho khung thực thể ADO.NET cho phép bạn tạo các truy vấn linh hoạt, được đánh máy mạnh mẽ đối với ngữ cảnh đối tượng khung thực thể bằng cách sử dụng các biểu thức LINQ và các toán tử truy vấn chuẩn LINQ trực tiếp từ môi trường phát triển.

  • Hỗ trợ các phép tính phân biệt chữ hoa/thường ở mức cơ sở dữ liệu.

  • Quản trị cơ sở dữ liệu nhỏ gọn SQL Server được lưu trữ trên thiết bị di động chạy Windows hoặc trên máy tính để bàn bằng cách dùng SQL Server Management Studio (SSMS) trong SQL Server 2008.

  • Sao chép các kiểu dữ liệu mới trong SQL Server 2008. Những kiểu dữ liệu này bao gồm ngàytháng, thời gian, datetime2, datetimeoffset, địa lývà hình học. Các kiểu dữ liệu mới trong SQL Server 2008 được ánh xạ đến NCHAR, nvarchar, hình ảnh, v.v.

  • Nguồn gốc 64-bit hỗ trợ. 32-bit hỗ trợ không thay đổi.

  • Hỗ trợ việc sao chép dữ liệu với SQL Server 2008, với SQL Server 2005 và với SQL Server 2000 bằng cách sử dụng Microsoft Synchronization Services cho ADO.NET 1,0 Service Pack 1 (SP1). Dịch vụ đồng bộ hóa Microsoft cho ADO.NET 1,0 SP1 sẵn dùng cho cả thiết bị bàn làm việc và máy tính di động.

  • Hỗ trợ sao chép dữ liệu với SQL Server 2008 và với SQL Server 2005 bằng cách dùng bản sao phối và truy nhập dữ liệu từ xa (RDA).

  • Tính tương thích phiên bản được cải tiến giữa SQL Server Compact và SQL Server để phối nhân bản.

  • Công cụ máy chủ 3,5 SP1 máy chủ SQL Server

    • Có thể sao chép dữ liệu giữa SQL Server Compact 3,5 và SQL Server 2008 hoặc SQL Server 2005.

    • Hỗ trợ sao chép dữ liệu giữa SQL Server 2005 Compact Edition hoặc SQL Server 2005 Mobile Edition và SQL Server 2008 hoặc SQL Server 2005.

    • Không thể cài đặt cạnh nhau với các phiên bản cũ hơn của công cụ máy chủ trên máy tính vốn hoạt động như máy chủ đang chạy dịch vụ thông tin Internet (IIS).

  • Hỗ trợ Windows Server 2008.

Ngoài các tính năng mới được liệt kê ở đây, SQL Server Compact 3,5 SP1 bao gồm các tính năng mới sau đây được đưa vào trong SQL Server Compact 3,5:

  • Thực hiện kiểu dữ liệu dấu thời gian (Rowversion). Rowversion là một kiểu dữ liệu cho thấy nhiều số nhị phân được tạo tự động được tạo được đảm bảo là duy nhất trong một cơ sở dữ liệu. Thông thường, kiểu dữ liệu này được sử dụng làm cơ chế cho các hàng của bảng đóng dấu Phiên bản.

  • Hỗ trợ phạm vi giao dịch cục bộ trên máy tính để bàn.

  • Thêm các cải tiến cho trình thiết kế bảng trong Visual Studio 2008 để cung cấp giao diện người dùng để tạo mối quan hệ chính và khóa ngoài giữa các bảng.

  • Mở rộng hỗ trợ cho các câu lệnh Transact-SQL như sau:

    • Truy vấn lồng nhau trong mệnh đề FROM

    • Áp dụng chéo và áp dụng bên ngoài

    • BOÛ

    • SẢN

    • ĐẶT CHÈN DANH TÍNH

  • Hỗ trợ các ký tự Unicode của bất kỳ miền địa phương nào. Điều này bao gồm các ký tự GB 18030 tiếng Trung.

  • Hỗ trợ phát triển các ứng dụng trên máy tính sử dụng Microsoft Visual C# 2008 Express Edition và Microsoft Visual Basic 2008 Express Edition.

  • Hỗ trợ song song với SQL Server 2005 Compact Edition trên máy tính để bàn.

  • Hỗ trợ chế độ mã hóa tương thích ngược đối với các hệ điều hành cũ hơn có các thuật toán mã hóa cũ hơn và thêm mã hóa mới hơn, tốt hơn.

  • Hỗ trợ LINQ sang SQL. LINQ với SQL là một thành phần của dự án LINQ. LINQ với SQL cung cấp một cơ sở hạ tầng thời gian chạy để quản lý dữ liệu quan hệ như đối tượng mà không bỏ khả năng truy vấn. Nó dịch các truy vấn tích hợp ngôn ngữ vào Transact-SQL để thực hiện SQL Server Compact và sau đó dịch các kết quả dạng bảng trở lại vào các đối tượng như được nhà phát triển phần mềm xác định. Không có hỗ trợ trình thiết kế cho SQL Server Compact trong LINQ với SQL. Tiện ích SqlMetal. exe phải được sử dụng cho SQL Server Compact. Công cụ dòng lệnh SqlMetal tạo mã và ánh xạ cho cấu phần LINQ cho SQL của khuôn khổ Microsoft .NET. Theo mặc định, tệp SqlMetal. exe nằm trong thư mục sau đây:

    %ProgramFiles%\Microsoft SDKs\Windows\vn.nn\Bin Công cụ dòng lệnh SqlMetal có thể được dùng cho các thao tác sau:

    • Từ cơ sở dữ liệu, để tạo các thuộc tính mã nguồn và bản đồ hoặc tệp ánh xạ

    • Từ cơ sở dữ liệu, để tạo tệp ngôn ngữ đánh dấu cơ sở dữ liệu trung gian (. dbml) để tùy chỉnh

    • Từ tệp. dbml, để tạo thuộc tính mã và ánh xạ hoặc tệp ánh xạ

Phát hành ngôn ngữ

SQL Server Compact 3,5 SP1 cho tất cả các gói được phát hành bằng các ngôn ngữ sau đây:

  • Tiếng Anh

  • Tiếng Bồ Đào Nha

  • Tiếng Trung giản thể

  • Tiếng Trung Phồn thể

  • Tini

  • Anh

  • Tiếng ý

  • Quốc

  • Tiếng Hàn

  • Liên

  • Tiếng Tây Ban Nha

Nền tảng được hỗ trợ

Có thể cài đặt SQL Server Compact 3,5 SP1 trên các nền tảng sau đây:

Máy tính để bàn chạy Windows
  • Máy chủ tiêu chuẩn Windows Server 2008

  • Máy chủ tiêu chuẩn Windows Server 2008 (không có Hyper-V)

  • Doanh nghiệp Windows Server 2008

  • Windows Server 2008 Enterprise (không có Hyper-V)

  • Trung tâm dữ liệu 2008 của Windows Server

  • Trung tâm dữ liệu Windows Server 2008 (không có Hyper-V)

  • Phiên bản Windows Server 2008 web

  • Máy chủ chuẩn Windows Server 2008 x64

  • Windows Server 2008 Standard Server x64 (không có Hyper-V)

  • Windows Server 2008 Enterprise x64

  • Windows Server 2008 Enterprise x64 (không có Hyper-V)

  • Trung tâm dữ liệu Windows Server 2008 x64

  • Trung tâm dữ liệu Windows Server 2008 x64 (không có Hyper-V)

  • Windows Server 2008 web Edition x64

  • Windows Vista Home Basic SP1

  • Windows Vista Home Premium SP1

  • Windows Vista Business SP1

  • Windows Vista Enterprise SP1

  • Windows Vista Ultimate SP1

  • Windows Vista Starter SP1

  • Windows Vista Home x64 SP1 cơ bản

  • Windows Vista Home Premium x64 SP1

  • Windows Vista Business x64 SP1

  • Windows Vista Enterprise x64 SP1

  • Windows Vista Ultimate x64 SP1

  • SP3 Professional trong Windows XP

  • SP3 Phiên bản Home của Windows XP

  • Phiên bản 2005 Windows XP Media Center

  • Windows XP Media Center Edition 2004 SP3

  • Phiên bản PC Windows XP Tablet SP3

  • SP3 được nhúng vào Windows XP

  • Windows XP Professional x64 SP3

  • Windows được nhúng cho điểm của dịch vụ SP3

  • Windows Server 2003, phiên bản chuẩn SP2

  • Windows Server 2003, phiên bản doanh nghiệp SP2

  • Windows Server 2003, phiên bản Trung tâm dữ liệu SP2

  • Windows Server 2003 R2, phiên bản chuẩn

  • Windows Server 2003 R2, phiên bản doanh nghiệp

  • Windows Server 2003 R2, phiên bản Trung tâm dữ liệu

  • Windows Server 2003 x64, phiên bản chuẩn

  • Windows Server 2003 x64, phiên bản Enterprise x64

  • Windows Server 2003 x64, phiên bản Trung tâm dữ liệu

  • Windows Server 2003 R2 x64, phiên bản chuẩn

  • Windows Server 2003 R2 x64, phiên bản doanh nghiệp

  • Windows Server 2003 R2 x64, phiên bản Trung tâm dữ liệu

Thiết bị di động chạy Windows
  • Windows CE 6,0

  • Windows CE 5,0

  • Windows CE 4,2

  • Windows Mobile 6,0

  • Windows Mobile 5,0

  • Windows Mobile 2003 cho PC Pocket

Các cấu phần bổ sung

Tệp SQL Server 3,5 SP1 Windows Installer (. msi) nén được mô tả trong phần này. Một số tệp này sẵn dùng để tải xuống từ Trung tâm tải xuống của Microsoft. Để tải xuống các thành phần của SQL Server 3,5 nén SP1, hãy ghé thăm web site sau của Microsoft:

http://www.microsoft.com/sql/editions/compact/downloads.mspx Danh sách sau đây mô tả các tệp SQL Server Compact 3,5 SP1. msi bổ sung. Lưu ý Trong danh sách này, ngôn ngữ chỗ dành sẵn đại diện cho ngôn ngữ sản phẩm của SQL Server Compact. Ví dụ: đối với tiếng Anh, chỗ dành sẵn đại diện cho việc ENUvà cho tiếng Nhật, chỗ dành sẵn đại diện cho JPN.

  • Công cụ thiết kế SP1 3,5 nén SQL Server (SSCEVSTools-Language. msi) Tệp này cài đặt các cấu phần thiết kế nhỏ gọn của SQL Server cùng với Visual Studio 2008 SP1. Các cấu phần thiết kế là giao diện người dùng, hộp thoại và môi trường thời gian thiết kế. Những điều này được sử dụng để viết các ứng dụng cho SQL Server Compact. Các cấu phần thiết kế nhỏ gọn trong SQL Server được cài đặt trong thư mục sau đây:

    %ProgramFiles%\Microsoft Visual Studio 9 \ Common7\IDE Tệp mẫu được cài đặt trong thư mục sau đây:

    %ProgramFiles%\Microsoft SQL Server Compact Edition\v3,5\samples Những cấu phần này được gắn với Visual Studio và không thể được vận chuyển độc lập với Visual Studio. Mẫu Compact SQL Server và các tệp đầu đề SQL Server Compact (đối với phát triển gốc) cũng được cài đặt bởi tệp này.

  • SQL Server Compact 3,5 SP1 (SSCERuntime-Language. msi) Tệp này cài đặt cấu phần thời gian chạy SQL Server cho máy tính để bàn. Nó sẽ cài đặt các cấu phần này trong thư mục Trung tâm sau đây:

    %ProgramFiles%\Microsoft SQL Server Compact Edition\v3,5 Những cấu phần này là bắt buộc để phát triển các ứng dụng trong Visual Studio và để chạy các ứng dụng trên nền tảng SQL Server trên máy tính. SSCERuntime-Language. MSI cũng có sẵn để tải xuống từ web. Tệp này cũng cài đặt các dịch vụ đồng bộ hóa Microsoft cho các cấu phần ADO.NET 1,0 SP1. Các cấu phần dịch vụ đồng bộ được cài đặt trong thư mục sau đây:

    %ProgramFiles%\Microsoft Synchronization Services\ADO.NET\v1.0 Để biết thêm thông tin, hãy xem mục các dịch vụ đồng bộ hóa Microsoft cho ADO.net sách trực tuyến. Tài nguyên này sẵn dùng trên trang web Microsoft SQL Server.

  • SQL Server Compact 3,5 SP1 cho các thiết bị (SSCEDeviceRuntime-Language. msi) Tệp này cài đặt cấu phần thời gian chạy của SQL Server trong các thiết bị thu gọn trong thư mục sau đây:

    %ProgramFiles%\Microsoft SQL Server Compact Edition\v3.5\Devices Các cấu phần thời gian chạy được yêu cầu để phát triển các ứng dụng trên thiết bị chạy Windows Mobile và Windows CE trong Visual Studio và triển khai các ứng dụng trên các thiết bị di động. SSCEDeviceRuntime-Language. MSI cũng có sẵn để tải xuống trên web site Microsoft SQL Server.

  • Công cụ máy chủ SQL Server 3,5 SP1 (SSCEServerTools-ngôn ngữ. msi) Tệp này cài đặt công cụ SQL Server Compact Server trong thư mục sau đây:

    %ProgramFiles%\Microsoft SQL Server Compact Edition\v3,5\sync\sql Các cấu phần cần thiết để kết nối cơ sở dữ liệu SQL Server trên thiết bị di động đến một cơ sở dữ liệu SQL Server 2008 hoặc SQL Server 2005. SSCEServerTools-ngôn ngữ. MSI cũng sẵn có để tải xuống trên web site Microsoft SQL Server.

  • Công cụ truy vấn 3,5 của SQL Server SP1 (SSCESqlWbTools-Language. msi) Tệp này cài đặt truy vấn Compact SQL Server-các tệp công cụ trong thư mục sau đây:

    %ProgramFiles%\Microsoft SQL Server Compact Edition\v3.5\Tools Ngoài ra, các tệp mẫu được cài đặt trong thư mục sau đây:

    %ProgramFiles%\Microsoft SQL Server Compact Edition\v3,5\samples SSCESqlWbTools-Language. msi là một phần trong bản phát hành SQL Server Compact 3,5 SP1. Tệp được cài đặt như là một phần của SQL Server 2008. Lưu ý Bắt đầu với SQL Server Compact 3,5 SP1, cấu phần công cụ truy vấn cũng sẵn dùng khi cài đặt SQL Server 2008.

Các vấn đề đã biết trong bản phát hành này

Các vấn đề đã biết trong SQL Server Compact 3,5 SP1 như sau:

  • Tích hợp tài liệu hướng dẫn (BOL) vào Visual Studio và trợ giúp SQL Server Sổ làm việc SQL Server nén 3,5 SP1 trực tuyến (BOL) và các dịch vụ đồng bộ hóa Microsoft dành cho ADO.NET đều sẵn dùng dưới dạng tải xuống chỉ web từ Trung tâm tải xuống của Microsoft. Chúng không được bao gồm trong Visual Studio 2008 SP1 hoặc với SQL Server 2008. Để truy nhập các tuyển tập này từ tài liệu cho Visual Studio 2008 SP1 hoặc cho SQL Server 2008 và để truy nhập trợ giúp F1 từ Visual Studio 2008 SP1 hoặc từ SQL Server 2008, hãy thêm các tuyển tập này vào Visual Studio và SQL Server hỗ trợ bộ sưu tập kết hợp. Để thực hiện điều này, hãy tải xuống sổ làm việc SQL Server 3,5 SP1 và đồng bộ hóa của Microsoft for ADO.NET. Sau đó, đóng tất cả các phiên bản của bộ sưu tập trợ giúp kết hợp Visual Studio/SQL Server, trong Visual Studio 2008 và của SQL Server 2008. Khi bạn mở lại Visual Studio và bộ sưu tập trợ giúp kết hợp SQL Server, SQL Server Compact 3,5 SP1 sách trực tuyến và đồng bộ hóa các dịch vụ cho ADO.NET sách trực tuyến sẽ trở nên sẵn dùng trong mục lục, chỉ mục, tìm kiếm và trợ giúp F1.

  • Hỗ trợ Windows Mobile Tệp trình cài đặt SQL Server 3,5 SP1 cho thiết bị không được cài đặt cùng với Visual Studio 2008 SP1. Tệp sẵn dùng dưới dạng tải xuống chỉ web từ Trung tâm tải xuống của Microsoft.

  • Nâng cấp từ các phiên bản Nâng cấp lên SQL Server Compact 3,5 hoặc đến SQL Server Compact 3,5 SP1 từ SQL Server Compact 3,5 bản xem trước công nghệ cộng đồng (CPC) hoặc từ các phiên bản beta của SQL Server Compact 3,5 không được hỗ trợ. Nâng cấp lên SQL Server Compact 3,5 SP1 từ SQL Server Compact 3,5 hoặc từ SQL Server Compact 3,5 SP1 beta được hỗ trợ. Nâng cấp từ các phiên bản CPC và beta của SQL Server Compact 3,5 vào phiên bản phát hành không được hỗ trợ. Gỡ cài đặt một phiên bản của Visual Studio 2008 không gỡ cài đặt SQL Server Compact 3,5. Bạn phải loại bỏ cài đặt CPC hoặc phiên bản beta của SQL Server Compact 3,5 trước khi cài đặt phiên bản phát hành của Visual Studio 2008. Để thực hiện điều này, hãy thực hiện một trong các thao tác sau:

    • Trong Windows Vista, bấm vào bắt đầu, bấm Pa-nen điều khiển, rồi bấm đúp vào chương trình và tính năng. Gỡ cài đặt tất cả các thiết đặt của CPC và beta của các ứng dụng sau đây:

      • 3,5 nén SQL Server

      • 3,5 nén SQL Server cho các thiết bị

      • Công cụ thiết kế 3,5 nén SQL Server

    • Trong Windows XP hoặc Windows Server 2003, bấm vào bắt đầu, bấm Pa-nen điều khiển, rồi bấm đúp vào Thêm hoặc loại bỏ chương trình. Gỡ cài đặt tất cả các thiết đặt của CPC và beta của các ứng dụng sau đây:

      • 3,5 nén SQL Server

      • 3,5 nén SQL Server cho các thiết bị

      • Công cụ thiết kế 3,5 nén SQL Server

  • SQL Server Compact 3,5 SP1 không được dỡ cài đặt khi Visual Studio 2008 SP1 được dỡ cài đặt Gỡ cài đặt Visual Studio 2008 SP1 không dỡ cài đặt SQL Server Compact 3,5 công cụ thiết kế SP1 và SQL Server Compact 3,5 SP1 tự động. Nếu bạn muốn hoàn nguyên bản cài đặt Visual Studio 2008, trước tiên bạn phải gỡ cài đặt thủ công các công cụ thiết kế của SQL Server nén 3,5 SP1 và SQL Server Compact 3,5 SP1. Sau đó, bạn phải sử dụng phương tiện cài đặt Visual Studio 2008 để cài đặt các công cụ thiết kế 3,5 SQL Server và SQL Server Compact 3,5. Các gói Windows Installer dành cho SQL Server Compact 3,5 và các công cụ thiết kế 3,5 SQL Server được đặt trong thư mục sau đây trên phương tiện cài đặt Visual Studio 2008:

    WCU\SSCE Tên tệp của gói SQL Server Compact 3,5 là SSCERuntime-Language. msi. Tên tệp của gói công cụ thiết kế 3,5 Compact là SSCEVSTools-Language. msi. Lưu ý Ngôn ngữ chỗ dành sẵn đại diện cho ngôn ngữ sản phẩm của SQL Server Compact.

  • Tích hợp trong SQL Server Management Studio 2008 Nếu bạn chọn tùy chọn sửa chữa khi cài đặt sql server 2008, công cụ truy vấn SQL server nén 3,5 SP1 và SQL server Compact 3,5 SP1 sẽ không được cài đặt tự động. Để giải quyết sự cố này, hãy cài đặt tệp SQL Server Compact. msi từ thư mục sau đây trên phương tiện cài đặt SQL Server:

    Servers\Setup Tên tệp của gói SP1 SQL Server 3,5 SP1 là SSCERuntime-Language. msi. Tên tệp của gói công cụ truy vấn SQL Server Compact 3,5 là SSCESqlWbTools-Language. msi. Lưu ý Ngôn ngữ chỗ dành sẵn đại diện cho ngôn ngữ sản phẩm. Quan trọng Nếu SQL Server Compact 3,5 SP1 không được cài đặt khi bạn sử dụng SQL Server 2008 Management Studio, bạn nhận được thông báo lỗi sau đây:

    Không thể tải Microsoft SQL Server Compact. Cài đặt Microsoft SQL Server Compact MSIs từ thư mục-Servers\Setup trên trình cài đặt SQL Server. Để biết thêm chi tiết, tham khảo bài viết KB 952218.

    Để giải quyết vấn đề này, hãy cài đặt các công cụ truy vấn Microsoft SQL Server Compact 3,5 SP1 và Microsoft SQL Server Compact 3,5 SP1 từ phương tiện cài đặt SQL Server 2008 trong thư mục "Servers\Setup". Để biết thêm thông tin về sự cố này và cách giải quyết nó, hãy bấm số bài viết sau để xem bài viết trong cơ sở kiến thức Microsoft:

    952218 Thông báo lỗi khi bạn tìm cách kết nối với SQL Server Compact 3,5 Service Pack 1 từ SQL Server Management Studio trong SQL Server 2008: "không thể tải Microsoft SQL Server Compact"  

  • Công cụ máy chủ SQL server 3,5 SP1 (x86). msi không nhận diện IIS khi IIS được cài đặt trên Vista (x64) hoặc trên máy chủ Windows 2008 để biết thêm thông tin về vấn đề này và cách giải quyết, hãy bấm số bài viết sau để xem bài viết trong cơ sở kiến thức Microsoft:

    955966 SQL Server Compact 3,5 Service Pack 1 công cụ máy chủ không được cài đặt trong chế độ WOW khi bạn chạy IIS 7,0 trên máy tính chạy Windows Server 2008 64-bit hoặc 64 trên máy tính chạy Windows Vista-bit  

  • Visual Studio cho các thiết bị tương thích ngược Sau khi bạn cài đặt SQL Server Compact 3,5 SP1 thiết bị khởi chạy, bất kỳ dự án "thiết bị thông minh" tham chiếu đến hệ thống. Data. SqlServerCe. dll Assembly và được tạo ra bằng cách sử dụng Visual Studio 2008 SP1 hoặc Visual Studio 2008 không thể mở lại và Forth. Sự cố này xảy ra do các phiên bản lắp ráp của hệ thống. Data. SqlServerCe. dll lắp ráp trong SQL Server Compact 3,5 SP1 (3.5.1.0) và trong SQL Server Compact 3,5 (3.5.0.0) là khác nhau. Các kịch bản có thể xảy ra và độ phân giải của chúng như sau:

    • Bạn tạo một dự án "thiết bị thông minh" bằng cách sử dụng Visual Studio 2008 và đảm bảo dự án tham chiếu đến hệ thống. Data. SqlServerCe. dll lắp ráp. Sau đó, bạn cài đặt Visual Studio 2008 SP1 và SQL Server Compact 3,5 SP1 thiết bị chạy. Khi bạn mở và sau đó xây dựng dự án, bạn nhận được thông báo lỗi sau đây:

      Thao tác này yêu cầu tham chiếu đến SQL Server Compact 3,5. Dự án có tham chiếu đến một phiên bản khác. Cập Nhật tham chiếu và thử lại.

      Sự cố này xảy ra vì phiên bản của hệ thống. Data. SqlServerCe. dll được tham chiếu trong dự án khác với tệp. dữ liệu. SqlServerCe. dll tồn tại trên máy tính. Để giải quyết vấn đề này, hãy làm theo những bước sau:

      1. Trên menu xem , bấm giải pháp Explorer.

      2. Bấm tham chiếu.

      3. Bấm để chọn hộp kiểm hệ thống. dữ liệu. SqlServerCe , sau đó đặt thuộc tính Phiên bản cụ thể thành false trong hộp thoại thuộc tính .

      Lưu ý Giải pháp này không yêu cầu bạn cập nhật phiên bản lắp ráp của hệ thống. Data. SqlServerCe. dll, nếu bạn mở Project Back và ra bằng cách sử dụng Visual Studio 2008 và Visual Studio 2008 SP1.

    • Bạn cài đặt Visual Studio 2008 và thiết bị chạy SQL Server Compact 3,5. Sau đó, bạn mở một dự án "thiết bị thông minh" vốn đã được tạo trước đó trên một máy tính đang chạy Visual Studio 2008 SP1 và SQL Server Compact 3,5 SP1 chạy thiết bị khởi động. Khi bạn xây dựng dự án, ứng dụng đã xây dựng thành công. Tuy nhiên, khi bạn tìm cách gỡ cài đặt ứng dụng này, bạn nhận được thông báo lỗi sau đây:

      Không thể tìm thấy PInvoke DLL ' sqlceme35. dll '

      Sự cố này xảy ra vì dự án có bản sao cục bộ của hệ thống. Data. SqlServerCe. dll với phiên bản 3.5.1.0. Tuy nhiên, các tệp bản gốc phụ thuộc không trình bày trên máy tính. Những tệp này bao gồm Sqlceme35. dll. Để giải quyết vấn đề này, hãy làm theo những bước sau:

      1. Trên menu xem , bấm giải pháp Explorer.

      2. Bấm tham chiếu.

      3. Bấm để chọn hộp kiểm hệ thống. dữ liệu. SqlServerCe , sau đó đặt thuộc tính sao chép thành false trong hộp thoại thuộc tính .

      4. Loại bỏ hệ thống. Data. SqlServerCe. dll lắp ráp từ thư mục cục bộ của dự án.

      5. Bấm tham chiếu.

      6. Bấm chuột phải vào hệ thống. dữ liệu. SqlServerCe, rồi bấm loại bỏ.

      7. Bấm tham chiếu.

      8. Bấm chuột phải vào vùng tham chiếu , rồi bấm thêm tham chiếu.

      9. Trong hộp thoại thêm tham chiếu , hãy bấm tab .net .

      10. Trong danh sách tên cấu phần , hãy bấm để chọn hộp kiểm hệ thống. dữ liệu. sqlserverce , rồi bấm OK.

  • Các ràng buộc mặc định là nhân rộng "as-is" Các ràng buộc mặc định là nhân rộng "as-is" khi một bài viết chứa một cột hình học kiểu được nhân rộng đến một người đăng ký đang chạy SQL Server Compact. Để giải quyết vấn đề này, hãy thực hiện một trong những thao tác sau đây:

    • Không tái tạo các ràng buộc mặc định. Thay vào đó, bạn có thể tắt tùy chọn lược đồ cho bài viết trước khi bài viết được nhân rộng đến người đăng ký.

    • Loại bỏ hạn chế mặc định khỏi bảng trước khi bạn phát hành.

    • Xác định giá trị mặc định là chữ cái thay vì hàm hình học.

  • Thuộc tính "mã hóa" của lớp "SqlCeConnection" không được dùng SQL Server Compact 3,5 SP1 không sử dụng thuộc tính mã hóa của lớp sqlceconnection . Thuộc tính mã hóa của lớp sqlceconnection không nên sử dụng. Lưu ý Thuộc tính mã hóa sẽ được phân hủy trong một bản phát hành tương lai. Thuộc tính được giữ lại trong SQL Server Compact 3,5 SP1 để chỉ tương thích ngược. Sử dụng thuộc tính chế độ mã hóa của lớp sqlceconnection để mã hóa các tệp cơ sở dữ liệu SP1 3,5 của SQL Server. Các ví dụ sau đây cho biết cách tạo cơ sở dữ liệu 3,5 SP1 mới được mã hóa SQL Server. C#

    SqlCeEngine engine = new SqlCeEngine("Data Source=Northwind.sdf;encryption mode=platform default;Password=<enterStrongPasswordHere>;");
    engine.CreateDatabase();
    

    Visual Basic

    Dim engine As SqlCeEngine = New SqlCeEngine("Data Source=Northwind.sdf;encryption mode=platform default;Password=<enterStrongPasswordHere>;")
    engine.CreateDatabase()
    
  • Ứng dụng ClickOnce phải được phát hành lại sau khi bạn nâng cấp lên Visual Studio 2008 Khi bạn nâng cấp từ Visual Studio 2005 sang Visual Studio 2008, cơ sở dữ liệu SQL Server không được mã hóa không được nâng cấp và các ứng dụng sau đó phải được phát hành lại. Cơ sở dữ liệu (*. SDF) các tệp được tạo bởi các phiên bản cũ hơn của SQL Server Compact không tương thích với SQL Server Compact 3,5 SP1. Chỉ các tệp cơ sở dữ liệu không được mã hóa từ các phiên bản cũ hơn của SQL Server được nâng cấp khi dự án Visual Studio 2005 được nâng cấp lên Visual Studio 2008. Các tệp cơ sở dữ liệu đã mã hóa phải được nâng cấp theo cách thủ công. Nếu dự án Visual Studio 2005 sử dụng ClickOnce để phát hành các ứng dụng, ứng dụng sẽ được phát hành lại sau khi dự án được nâng cấp trong Visual Studio 2008. Để nâng cấp thủ công các tệp cơ sở dữ liệu được mã hóa, hãy làm theo các bước sau đây:

    1. Bấm dữ liệu.

    2. Bấm Thêm nguồn dữ liệu mới.

    3. Bấm Thêm kết nối.

    Nếu bạn mở một phiên bản cũ hơn của tệp cơ sở dữ liệu, bạn nhận được một thông báo. Nếu bạn bấm OK vào thư, hộp thoại cơ sở dữ liệu nâng cấp lên SQL Server 3,5 sẽ được hiển thị. Hoặc, bạn có thể sử dụng API của SqlCeEngine. Upgrade cho các kịch bản của chương trình. Ví dụ, bạn có thể sử dụng mã tương tự như mẫu mã sau đây. C#

    SqlCeEngine engine = new SqlCeEngine("Data Source=Northwind.sdf;Password=<enterStrongPasswordHere>;");
    engine.Upgrade ("Data Source=Northwind.sdf;encryption mode=platform default;Password=<enterStrongPasswordHere>;");
    

    Visual Basic

    Dim engine As SqlCeEngine = New SqlCeEngine("Data Source=Northwind.sdf;Password=<enterStrongPasswordHere>;")
    engine.Upgrade("Data Source=Northwind.sdf;encryption mode=platform default;Password=<enterStrongPasswordHere>;")
    

    Nếu dự án của bạn sử dụng bấm vào một lần để phát hành các ứng dụng, ứng dụng sẽ được phát hành lại sau khi ứng dụng được nâng cấp trong Visual Studio 2008. Khi bạn phát hành lại ứng dụng ClickOnce trong Visual Studio 2008, bạn có thể thấy thông báo cảnh báo sau đây:

    Không tìm thấy điều kiện tiên quyết trong phiên bản SQL Server 2005 Compact Thông báo cảnh báo có thể được bỏ qua an toàn.

  • Các kiểu dữ liệu của SQL Server 3,5 SP1 cho các tham số như Sqldbtype và dbtype sẽ được đặt rõ ràng Nếu các kiểu dữ liệu cho các tham số như Sqldbtype và dbtype không được đặt rõ ràng, một công cụ cơ sở dữ liệu có thể thử đoán kiểu dữ liệu thích hợp nhất cho tham số đó. Đoán này có thể không đúng, đặc biệt là đối với chuỗi và kiểu dữ liệu nhị phân không có độ dài cố định (bao gồm cả các đối tượng lớn), chẳng hạn như nvarchar, ntext, varbinaryvà hình ảnh. Trong những trường hợp này, một thông báo lỗi ngoại lệ có thể được ném. Để giải quyết vấn đề này, chúng tôi khuyên bạn nên xác định các loại tham số cho chuỗi và kiểu dữ liệu nhị phân không có độ dài cố định. Ví dụ, bạn có thể sử dụng mã tương tự như mẫu mã sau đây. C#

    SqlCeEngine engine = new SqlCeEngine(connString);
    engine.CreateDatabase();
    engine.Dispose();
    
    SqlCeConnection conn = new SqlCeConnection(connString);
    conn.Open();
    
    SqlCeCommand cmd = conn.CreateCommand();
    cmd.CommandText = "CREATE TABLE BlobTable(nameCol nvarchar(128), blobCol ntext);";
    cmd.ExecuteNonQuery();
    
    cmd.CommandText = "INSERT INTO BlobTable(nameCol, blobCol) VALUES (@nameParam, @blobParam);";
    SqlCeParameter paramName = cmd.Parameters.Add("nameParam", SqlDbType.NVarChar, 128);
    SqlCeParameter paramBlob = cmd.Parameters.Add("blobParam", SqlDbType.NText);
    paramName.Value = "Name1";
    paramBlob.Value = "Name1".PadLeft(4001);
    
    cmd.ExecuteNonQuery();
    

    Visual Basic

    Dim engine As SqlCeEngine = New SqlCeEngine(connString)
    engine.CreateDatabase()
    engine.Dispose()
    
    Dim conn As SqlCeConnection = New SqlCeConnection(connString)
    conn.Open()
    
    Dim cmd As SqlCeCommand = conn.CreateCommand()
    cmd.CommandText = "CREATE TABLE BlobTable(nameCol nvarchar(128), blobCol ntext);"
    cmd.ExecuteNonQuery() 
    
    cmd.CommandText = "INSERT INTO BlobTable(nameCol, blobCol) VALUES (@nameParam, @blobParam);"
    Dim paramName As SqlCeParameter
    Dim paramBlob As SqlCeParameter
    paramName = cmd.Parameters.Add("nameParam", SqlDbType.NVarChar, 128)
    paramBlob = cmd.Parameters.Add("blobParam", SqlDbType.NText)
    paramName.Value = "Name1"
    paramBlob.Value = "Name1".PadLeft(4001)
    
    cmd.ExecuteNonQuery()
    
  • Tính tương thích định dạng tệp cơ sở dữ liệu bị hạn chế trong một số trường hợp Các tệp cơ sở dữ liệu của SQL Server 3,5 SP1 (. SDF) có thể được mở trong SQL Server Compact 3,5 và trong SQL Server Compact 3,5 SP1. Tuy nhiên, trong một số trường hợp, tính tương thích định dạng tệp cơ sở dữ liệu có thể bị hạn chế. Ví dụ, tính tương thích về định dạng tệp cơ sở dữ liệu có thể bị hạn chế trong các tình huống sau đây:

    • Cơ sở dữ liệu phân biệt chữ hoa/thường được tạo trong SQL Server Compact 3,5 SP1 không thể mở hoặc được nhận diện trong SQL Server Compact 3,5. Lưu ý rằng các phép tính phân biệt chữ hoa/thường được giới thiệu bắt đầu bằng SQL Server Compact 3,5 SP1.

    • Không thể mở cùng một tệp cơ sở dữ liệu trong cùng một lúc bởi SQL Server Compact 3,5 Runtime và by the SQL Server Compact 3,5 SP1 Runtime.

  • Một truy vấn có chứa một kiểu nối ngoài bên trái với một hằng số như là một phép toán bên trái và không trả về kết quả chính xác Khi bạn chạy một truy vấn có bao gồm một kiểu nối ngoài bên trái với một hằng số như một kết quả thích hợp bên trái, không được trả về. Sự cố này xảy ra vì SQL Server Compact không đánh giá đúng các truy vấn. Sau đây là ví dụ về truy vấn như sau:

    SELECT * FROM table1 LEFT OUTER JOIN table2 ON 1 = table1.column1

    Truy vấn LINQ sau đây cho các tổ chức cũng bao gồm một giá trị hằng số là hàm Selector chính trong phương pháp Groupby . Truy vấn này được chuyển đổi thành bên ngoài bên trái tham gia với một hằng số như là một nội bộ bên trái và trả về một giá trị không chính xác. C#

    using (NorthwindEntities nwEntities = new NorthwindEntities())
    {
       var customers = nwEntities.Customers
                       .GroupBy( c => 1, c => c.Customer_ID)
                       .Select( c => c);
    }
    
  • Các vấn đề về thời gian chạy của SQL Server 3,5 SP1 cho khung thực thể ADO.NET

    • Các truy vấn phụ tương quan được chuyển đổi thành các truy vấn phụ vô hướng không được hỗ trợ trong bản phát hành này. Đối với các truy vấn phụ, bạn nhận được thông báo lỗi sau đây:

      Lỗi xảy ra trong khi thực hiện định nghĩa lệ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 đây "đã xảy ra lỗi phân tích truy vấn. [.., Mã thông báo lỗi = AS]

      Sự cố này xảy ra vì khung thực thể diễn giải truy vấn đầu vào như một truy vấn với áp dụng chéo hoặc bên ngoài áp dụng loại gia nhập. Nếu bên phải của điều kiện nối sẽ trả về một giá trị vô hướng, gia nhập được chuyển đổi thành một truy vấn phụ vô hướng. Nhà cung cấp khuôn khổ thực thể cho SQL Server Compact đã chuyển đổi truy vấn phụ vô hướng đến truy vấn tương đương với bên ngoài áp dụng kiểu nối được hỗ trợ bởi SQL Server Compact. Tuy nhiên, trong bản phát hành này, việc chuyển đổi này không được thực hiện đúng. Ví dụ, truy vấn sau đây sẽ ném một thông báo lỗi trong bản phát hành này: C #

      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());
          }
      }
      
      • Một ngoại lệ vi phạm Access xảy ra trong khi thực hiện truy vấn khuôn khổ thực thể nếu cả truy vấn chính và truy vấn phụ bao gồm một từ khóa riêng biệt và điều kiện nối sẽ được chỉ ra bằng mệnh đề nối ngoài. Ví dụ, truy vấn sau đây sẽ tạo ra vi phạm truy nhập:

        SELECT DISTINCT [o].[CustomerID]
        FROM (SELECT DISTINCT * FROM [Orders]) AS [o]
        LEFT OUTER JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID]
        

Danh sách các vấn đề đã được khắc phục

Gói dịch vụ này khắc phục các sự cố sau đây:

  • 923979 Thông báo lỗi khi bạn tìm cách chèn một hàng hoặc thực hiện các thao tác cơ sở dữ liệu khác trong cơ sở dữ liệu Phiên bản SQL Server 2005 Mobile: "sai trang có thể có cơ sở dữ liệu bị hỏng"

  • 933463 Các ứng dụng được quản lý sử dụng phiên bản SQL Server 2005 dành cho điện thoại di động có thể ngừng đột ngột Nếu vị trí của những thay đổi của SQL Mobile DLLs

  • 934386 Bạn không thể sử dụng SQL Server 2005 Compact Edition trên thiết bị ARMV4i dựa trên thiết bị chạy Windows CE .NET 4,2

  • 935769 Thông báo lỗi khi bạn nâng cấp một cơ sở dữ liệu từ SQL Server 2000 Windows CE Edition 2,0 vào SQL Server 2005 Mobile Edition: "tệp cơ sở dữ liệu lớn hơn kích cỡ cơ sở dữ liệu tối đa được cấu hình"

  • 936487 Các ứng dụng được quản lý sử dụng SQL Server 2005 Compact Edition 3,1 có thể ngừng bất ngờ trên Windows Mobile 5,0 ARMV4i-thiết bị tương thích nếu vị trí của SQL Server Phiên bản nén Compact thay đổi

  • 938786 .net Compact Framework 2,0 dựa trên ứng dụng thiết bị mà gọi cho SqlCeEngine. xác minh phương pháp chống lại cơ sở dữ liệu Phiên bản SQL Server 2005 Compact sẽ ngừng phản hồi

  • 947002 Thông báo lỗi khi bạn tìm cách xóa các hàng khỏi bảng trong SQL Server 2005 Compact Edition hoặc trong SQL Server Compact 3,5: "lỗi chính 0x80004005, lỗi nhỏ 0. Đã tìm cách chia bằng không "

  • 950440 Ứng dụng này có vẻ ngừng phản hồi khi ứng dụng thực thi một truy vấn lớn có các tham số trong vị từ trong SQL Server 2005 Compact Edition

  • 951932 Thông báo lỗi khi bạn tạo đăng ký trong SQL Server 2005 Compact Edition vào Ấn phẩm phối trên SQL Server 2000: "tên bảng không hợp lệ. [Số dòng mã thông báo (nếu đã biết) = 1, các dòng mã thông báo offset (nếu đã biết) = 22, tên bảng = <TableName>] "

  • 953259 Thông báo lỗi khi bạn chạy một câu lệnh SQL sử dụng hàm Charindex trong cơ sở dữ liệu sử dụng bản địa Séc trong SQL Server 2005 Compact Edition: "hàm này không được nhận diện bởi SQL Server Compact Edition"

Gói dịch vụ này khắc phục các vấn đề sau đây chưa được ghi lại trước đây trong bài viết cơ sở kiến thức Microsoft:SQL Server Compact 3,5 SP1

  • Trong khi phối bản sao của dữ liệu từ SQL Server 2005 vào SQL Server Compact 3,5, các câu lệnh SQL không chính xác-có thể được tạo. Ngoài ra, các thay đổi dữ liệu không được áp dụng cho SQL Server Compact. Ví dụ, vấn đề này có thể xảy ra khi một câu lệnh Transact-SQL không chính xác, chẳng hạn như sau được tạo:

    not null default n e w i d ( )

    Bạn có thể mong đợi một câu lệnh Transact-SQL như sau để tạo:

    not null default newid()
  • Bạn trải nghiệm hiệu suất truy vấn chậm hơn trong SQL Server Compact 3,5 so với SQL Server 2005 Compact Edition. Vấn đề này do các gói truy vấn khác nhau gây ra. Nếu bạn chạy mã sau đây, một gói truy vấn không chính xác được tạo trong SQL Server Compact 3,5 và quét bảng được dùng thay vì quét chỉ mục:

    cmd.CommandText = @"select * from  Customers where Customers.Customer_ID = @v0";cmd.Parameters.Add("@v0", SqlDbType.NVarChar);rdr = cmd.ExecuteReader();
  • Tham số Transactionscope được cam kết bất kể hàm TS. Complete được gọi. Ví dụ, vấn đề này xảy ra khi sử dụng LINQ để SQL DataContext, như trong mã ví dụ sau với SQL Server Compact 3,5:

    using System;using System.Data.Linq;using System.Transactions;namespace bug{    class Program    {        static void Main(string[] args)        {            DataContext ctx = new DataContext("Test.sdf");            using (TransactionScope ts = new TransactionScope())            {                ctx.ExecuteCommand("INSERT INTO x (y) VALUES (2)");            }        }    }
  • Khi bạn sử dụng SQL Server Compact cùng với khung thực thể ADO.Net, các giá trị lớn hơn 8.000 byte không thể chèn vào bảng Compact SQL Server có chứa các cột đối tượng lớn nhị phân.

  • Nếu một chỉ mục là cu, thống kê Cập Nhật không thành công khi kết nối với SQL Server Compact 3,5 được mở ở chế độ chỉ đọc.

  • Bạn nhận được thông báo lỗi về vi phạm truy nhập trong quy trình Getcolumnrowset cho tập kết quả có thể cuộn. Ngoài ra, quy trình Opensharedmemory không đặt lại đối tượng perror khi tạo bộ nhớ chia sẻ không thành công trong không gian tên toàn cầu .

  • Việc phân tách một đối tượng lệnh sau khi một quá trình kết nối có thể ném một thông báo lỗi ngoại lệ. Vấn đề này có thể xảy ra khi mã sau đây được chạy:

    SqlCeConnection cn;SqlCeCommand cmd;... cn.Dispose();cmd.Dispose(); 
  • Một thông báo lỗi vi phạm truy nhập được ném khi một câu lệnh Select không trả về tất cả các cột được sắp xếp theo nhóm theo tham số và theo thứ tự theo tham số. Ví dụ, vấn đề này có thể xảy ra với câu lệnh Select sau đây:

    SELECT        [Company Name], [Contact Name]FROM            CustomersGROUP BY [Customer ID], [Company Name], [Contact Name]ORDER BY [Customer ID], [Company Name], [Contact Name]
  • Việc xóa xếp tầng không hoạt động đúng nếu chỉ có một thành phần trong bảng và a và điều kiện được dùng trong mệnh đề WHERE. Sử dụng đúng "không" bằng "hoặc" hoạt động chính xác. Ví dụ, truy vấn sau đây không hoạt động đúng:

    Select from table where (a=x AND b=y)
  • Giá trị null trong danh sách chọn có thể gây ra thông báo lỗi ngoại lệ bản địa trong quy trình ExecuteReader không liên tục. Ngoại lệ không bị lớp Sqlceexception đánh máy và bạn nhận được thông báo lỗi ngoại lệ gốc sau đây:

    Ngoại lệ gốc đã xảy ra trong SqlMobileCrash. exe. Chọn thoát rồi khởi động lại chương trình này hoặc chọn chi tiết để biết thêm thông tin. Mã ngoại lệ: 0Xc0000005tưu tiên địa chỉ: 0X00t1aa68reading: 0x0027f0000

  • Tham biến tên bảng được xử lý như phân biệt chữ hoa/thường khi thiết đặt lệnh IDENTITY_INSERT được dùng. Sự cố này xảy ra vì siêu dữ liệu luôn được viết hoa-nhạy cảm.

  • Chèn vào các cột của loại phao không thành công nếu đối tượng IDbCommand được dùng. Ví dụ, vấn đề này xảy ra với mã sau đây:

    try            {                string ConnectionString = "Data Source='Northwind.sdf'";                IDbConnection conn = new SqlCeConnection(ConnectionString);                IDbCommand cmd = conn.CreateCommand();                cmd.CommandText = "insert into \"newtable\"(\"t1\")values(@p0)";                conn.Open();                IDbDataParameter p;                p = cmd.CreateParameter();                p.Value = 7.6M;                p.ParameterName = "@p0";                cmd.Parameters.Add(p);                IDbTransaction t = cmd.Connection.BeginTransaction();                cmd.Transaction = t;                cmd.Prepare();                cmd.ExecuteNonQuery();                p.Value = 10M;                cmd.ExecuteNonQuery(); // Exception is thrown here                t.Commit();            }            catch (Exception ex)            {             }
  • Lệnh Sqlceresultset. GetEnumerator đã ném thông báo lỗi StackOverflowException và lệnh Sqlcedatareader. GetEnumerator sẽ ném thông báo lỗi NotSupportedException khi mã sau được chạy:

    SqlCeConnection conn = new SqlCeConnection(@"Data Source=Northwind.sdf");conn.Open();SqlCeCommand cmd = conn.CreateCommand();cmd.CommandText = "Select * from categories";SqlCeResultSet res = cmd.ExecuteResultSet(ResultSetOptions.Scrollable | ResultSetOptions.Updatable | ResultSetOptions.Sensitive);IEnumerator e= res.GetEnumerator(); // Exception is thrown here.conn.Close();
  • Khi một cuộc gọi RAPI mô phỏng một tình huống hệ thống. web (ASP.NET), SQL Server Compact có thể ném một thông báo lỗi ngoại lệ tham chiếu null.

3,5 nén SQL Server

  • Phối không thể chạy một câu lệnh thay đổi bảng cho chỉ mục khóa chính nếu có một gói bảo trì để dựng lại chỉ mục. Phối không thành công và bạn nhận được thông báo lỗi sau đây:

    Tên bảng không hợp lệ. [Số dòng mã thông báo (nếu đã biết) = 1, thì dòng mã thông báo offset (nếu đã biết) = 21, tên bảng = thể loại] HRESULT 0x80040E14 (26100). Câu lệnh SQL không thực hiện được. [Câu lệnh SQL = ALTER TABLE [dbo]. Sinh Thêm hạn chế [PK_Categories] Nhóm khóa chính ([CategoryID]) với PAD_INDEX, FILLFACTOR = 85] HRESULT 0x80040E14 (28560)

  • Nếu PC máy tính bỏ túi Windows Mobile 2003 chạy nhiều chủ đề và quy trình để truy nhập cùng một cơ sở dữ liệu, ứng dụng có thể thoát ra bằng thông báo lỗi ngẫu nhiên.

  • Trong Microsoft Visual Studio 2008, một kết nối cơ sở dữ liệu không thể được thiết lập cho cơ sở dữ liệu SQL Server. Sự cố này xảy ra nếu cơ sở dữ liệu lớn hơn 256 megabyte (MB).

  • Các nhị phân bản gốc SQL Server sau đây hiện đã được Microsoft ký.Tệp toàn cầu. dll

    • Sqlcese35.dll

    • Sqlcecompact35.dll

    • Sqlceqp35.dll

    • Sqlceoledb35.dll

    • Sqlceme35.dll

    • Sqlceca35.dll

    • Sqlcesa35.dll

    • Sqlcerp35.dll

    Tệp. dll cụ thể ngôn ngữ

    • Sqlceer35br.dll

    • Sqlceer35cn.dll

    • Sqlceer35cs.dll

    • Sqlceer35da.dll

    • Sqlceer35de.dll

    • Sqlceer35el.dll

    • Sqlceer35en.dll

    • Sqlceer35es.dll

    • Sqlceer35fi.dll

    • Sqlceer35fr.dll

    • Sqlceer35it.dll

    • Sqlceer35ja.dll

    • Sqlceer35ko.dll

    • Sqlceer35nl.dll

    • Sqlceer35no.dll

    • Sqlceer35pl.dll

    • Sqlceer35ps.dll

    • Sqlceer35pt.dll

    • Sqlceer35ru.dll

    • Sqlceer35sv.dll

    • Sqlceer35tw.dll

  • Thông báo lỗi ngoại lệ vi phạm truy nhập được ném vào khi một truy vấn có nhiều hoặc không xác định, như trong ví dụ mã sau đây:

    create table t1 (c1 int);create index t1_idx on t1(c1);insert into t1 values (1);insert into t1 values (2);insert into t1 values (3);create table t2 (col1 int, col2 int);insert into t2 values (2,3);insert into t2 values (1,3);insert into t2 values (3,3);select * from t1,t2 where c1 = col1 or c1 = col2 or c1 = 1;
  • Bạn chạy Windows XP dựa trên máy tính sử dụng hệ thống tệp FAT32. Nếu một cơ sở dữ liệu SQL Server Compact được truy nhập cùng lúc bởi một dịch vụ Windows và một ứng dụng, ứng dụng gặp sự cố.

  • Phương pháp nhỏ gọn Sqlceengine đặt giá trị Autoinc_Next không đúng khi giá trị được phân bổ tối đa trong phạm vi đã gán sẽ bị xóa. Nếu giá trị được phân bổ tối đa bị xóa, giá trị Autoinc_Next sẽ được đặt thành giá trị 1 lớn hơn giá trị tối đa hiện tại được dùng bởi một bài viết đã cho trong phạm vi của nó.

  • Kết quả không mong muốn có thể xảy ra khi các bản ghi có chứa các ký tự đặc biệt được truy nhập trong một câu lệnh Tabledirectindexsearch và trong một câu lệnh Select .

  • Microsoft Visual Studio 2005 query Designer thêm dấu ngoặc vuông cho các hàm date.

  • Trong quá trình sao chép dữ liệu phối giữa SQL Server và SQL Server Compact, bạn nhận được thông báo lỗi sau đây:

    Trình quản lý khóa đã hết dung lượng cho khóa bổ sung. Điều này có thể gây ra bởi các giao dịch lớn, theo các hoạt động sắp xếp lớn, hoặc bằng cách hoạt động SQL Server Compact Edition tạo bảng tạm thời. Bạn không thể tăng dung lượng khóa.

  • Thông báo lỗi FormatException được ném vào khi một chuỗi được ghép nối với tham số của chuỗi kiểu. Ví dụ, vấn đề này xảy ra khi bạn chạy mã sau đây:

    SqlCeConnection con = new SqlCeConnection("Test.sdf"); SqlCeCommand cmd = con.CreateCommand();cmd.CommandText = "select firstname + ' ' + lastname from person";bool i = cmd.ExecuteReader().Read();cmd.CommandText = "select firstname + @p0 + lastname from person";cmd.Parameters.Add("@p0", " ");i = cmd.ExecuteReader().Read();
  • Tên tham số trùng lặp không được kích hoạt.

  • Nếu trình tự "xóa", "đọc", "ReadPrevious" sẽ xảy ra khi bạn sử dụng một câu lệnh Select có chứa mệnh đề a order by, một thông báo lỗi ngoại lệ xảy ra.

  • CHỌN các câu lệnh riêng biệt không được phép khi sử dụng mệnh đề đơn _ hàng.

  • Khi một tên hạn chế được chỉ định, một cột không thể được thêm vào bảng có chứa hiện có không có giá trị NULL và các giá trị mặc định. Ví dụ, vấn đề này xảy ra khi bạn chạy mã sau đây:

    ALTER TABLE Categories ADD COLUMN bitcol1 bit NOT NULL CONSTRAINT MyConstraint DEFAULT (1);
  • Khi bạn chạy truy vấn sau đây, chỉ mục không chính xác được chọn:

    SELECT store_uid, stock_price, stock_class, stock_number, ticket_number, pocket, max(last_reorder_date) last_reorder_date, reorder_point, last_order_qty, sys_line_flag, stock_status, max(last_ship_date) last_ship_date, max(last_scan_date) last_scan_date, max(back_order_status) back_order_status, max(unit_last_scan_date) unit_last_scan_date, max(revision_target) revision_target FROM tbl_master_chart WHERE store_uid = 22359 and stock_price = '0399' and stock_class = 'EGB' and stock_number = '4759' GROUP BY store_uid, stock_price, stock_class, stock_number, ticket_number, pocket, reorder_point, last_order_qty, sys_line_flag, stock_status ORDER BY sys_line_flag DESC, ticket_number
  • Nếu bạn sử dụng thủ tục Readabsolute (số nguyên) để truy xuất giá trị getchuỗi của một hàng, bạn nhận được thông báo lỗi ngoại lệ sau đây:

    Không có dữ liệu nào tồn tại đối với hàng/cột

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

Phát triển các kỹ năng của bạn
Khám phá nội dung đào tạo
Sở hữu tính năng mới đầu tiên
Tham gia Microsoft dùng nội bộ

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?

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

×