Tôi đã chơi với "Microsoft Sync Framework 2.1" để đồng bộ hóa hai cơ sở dữ liệu máy chủ sql máy chủ cục bộ 2008 với một dự án asp.net.Lỗi lớp COM Microsoft COM lỗi
mã của tôi:
SqlConnection clientConn = new SqlConnection(@"Server=XXXXXX;User ID=sa; Password=xxxx;Database=ZzzClient");
SqlConnection serverConn = new SqlConnection("Server=XXXXXX;User ID=sa; Password=xxxx;Database=ZzzServer");
SyncOrchestrator syncOrchestrator = new SyncOrchestrator();
syncOrchestrator.LocalProvider = new SqlSyncProvider("InventoryScope", clientConn);
syncOrchestrator.RemoteProvider = new SqlSyncProvider("InventoryScope", serverConn);
syncOrchestrator.Direction = SyncDirectionOrder.UploadAndDownload;
SyncOperationStatistics syncStats = syncOrchestrator.Synchronize();
nhưng tôi nhận được lỗi sau khi Synchronize() cuộc gọi được thực hiện;
Retrieving the COM class factory for component with CLSID {EC413D66-6221-4EBB-AC55-4900FB321011} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).
phát triển envoriement VS 2012, C# asp.net project, framework 4.5 Hệ điều hành: windows 7 Home Prem. (x64)
SyncSDK-v2.1-x64-ENU đã được cài đặt.
Microsoft.Synchronization
Microsoft.Synchronization.Data
Microsoft.Synchronization.Data.SqlServer
tài liệu tham khảo đã được thêm vào dự án từ "C: \ Program Files \ Microsoft Sync Framework \ 2.1 \ Thời gian chạy ".
Cả hai cơ sở dữ liệu được cung cấp bởi SqlSyncScopeProvisioning.
Tôi đã thử Dự án Nền Đích cả x64 ans x86
Bất kỳ ý tưởng sẽ được đánh giá rất nhiều ....
Tôi đã thay đổi tất cả các tài liệu tham khảo từ "C: \ Program Files (x86) \ Microsoft SDKs \ Microsoft Sync Framework "tới" C: \ Program Files \ Microsoft Sync Framework \ 2.1 \ Thời gian chạy "
Và thiết lập các mục tiêu nền tảng để x64
"Sử dụng IIS Local Web Server" được chọn
UPDATE: tôi đã cố gắng cùng một quá trình với một ứng dụng giao diện điều khiển và nó hoạt động đúng và đồng bộ hóa tất cả dữ liệu.
Tôi đã thêm bốn tham chiếu sau vào ứng dụng bảng điều khiển;
"c: \ Program Files \ Microsoft Sync Framework \ 2.1 \ Runtime \ x64 \ Microsoft.Synchronization.dll"
c: \ Program Files \ Microsoft Sync Framework \ 2.1 \ Runtime \ ADO.NET \ V3 .1 \ x64 \ Microsoft.Synchronization.Data.dll "
" c: \ Program Files \ Microsoft Sync Framework \ 2.1 \ Runtime \ ADO.NET \ V3.1 \ x64 \ Microsoft.Synchronization.Data.Server. dll "
" c: \ Program Files \ Microsoft Sync Framework \ 2.1 \ Runtime \ ADO.NET \ V3.1 \ x64 \ Microsoft.Synchronization.Data.SqlServer.dll"
và thiết lập các thuộc debug của ứng dụng như sau
Cùng tham khảo, cùng xây dựng tài sản (mục tiêu x64) và cùng một mã không làm việc cho . trong dự án Asp.Net
Could not load file or assembly 'WebApplication2' or one of its dependencies. An attempt was made to load a program with an incorrect format.
tôi đoán, ứng dụng web không thể tải lắp ráp chính xác và cố gắng để tải các phiên bản x86
không nên tham chiếu hội đồng trong Program Files thay vì Program Files (x86)? bạn đang chạy nó trong IIS hoặc máy chủ web VS? – JuneT
Tôi đã thử cả hai. Nếu tôi thêm các tham chiếu này thông qua VS add-reference, nó xuất phát từ Program Files (x86) \ Microsoft SDKs \ Microsoft Sync Framework \ 2.1 \ Runtime. Tôi tự xóa "Program Files (x86)" và thêm một cái mới với trình duyệt từ C: \ Program Files \ Microsoft Sync Framework \ 2.1 \ Runtime \ x64. Cùng một kết quả .... –
VS 2012 cho thấy và thêm "Microsoft.Synchronization" lắp ráp từ "Program Files (x86)" nhưng thay vì đó nếu tôi tự thêm cụm từ "C: \ Program Files \ Microsoft Sync Framework \ 2.1 \ Runtime \ x64 ", tôi nhận được" Không thể tải tập tin hoặc lắp ráp 'DataAccess' hoặc một trong những phụ thuộc của nó. Một nỗ lực đã được thực hiện để tải một chương trình với một định dạng không chính xác. " lỗi. –