Düzeltme: "System.OverflowException: değeri çok büyük veya çok küçük" Sync Framework 2.1 kullanarak veri eşitleme gerçekleştirdiğinizde bir hata iletisi

ÖNEMLİ: Bu makale, Microsoft Makine Çevirisi Düzenleme yazılımı tarafından tercüme edilmiş olup, yüksek olasılıkla profesyonel bir çevirmen yerine CTF teknolojisi kullanılarak, Microsoft Topluluğu tarafından düzenlenmiştir. Microsoft, Bilgi Bankamız içindeki tüm makaleleri kendi dilinizde okuyabilmeniz için size hem profesyonel çevirmenler tarafından tercüme edilen hem de makine tarafından tercüme edildikten sonra Topluluk tarafından kontrol edilen makaleler sunar. Bununla birlikte, makine tarafından tercüme edilen, hatta Topluluk tarafından kontrol edilen bir makale bile her zaman mükemmel dil kalitesinde olmayabilir. Makalede dilinizi konuşan yabancı birisinin yapabileceği türden sözcük, söz dizimi veya dilbilgisi hataları bulunabilir. Microsoft, içeriğin hatalı tercümesinin veya müşterilerimiz tarafından kullanımının doğurabileceği olası yanlış anlamalar, hatalar veya zararlardan sorumlu değildir. Öte yandan Microsoft, Makine Çevirisi Düzenleme işlemini geliştirmek amacıyla Makine Çevirisi Düzenleme yazılımını ve araçlarını sık sık güncelleştirmektedir.

Makalenin İngilizcesi aşağıdaki gibidir: 2703853
Belirtiler
Veri Eşitleme gerçekleştirmek için Microsoft Sync Framework 2.1 kullandığınızda, aşağıdaki hata iletisini alabilirsiniz:
System.OverflowException: Değer bir Uınt64 için çok büyük ya da çok küçüktü. System.Int64.
Ayrıca, @@dbts değerini denetlemek için sorunlu veritabanıyla aşağıdaki kodu çalıştırdığınızda, değerin bir tamsayı veri türü değeri (2147483647) sınırlaması büyük olduğunu bulabilirsiniz:
select @@dbts
Not @@DBTS veritabanı son kullanılan zaman damgası değerini döndürür.
Neden
Bu sorun üzerinde @@dbts bazı hesaplamaları için tamsayı veri türü değeri @@dbts değeri dönüştürdükten sonra Sync Framework gerçekleştiren nedeniyle oluşur. Ancak, @dbts değer 2147483647'den büyük olduğunda, değeri negatif tamsayı değerine dönüştürülür. Bu nedenle, sonraki hesaplamalarda bir OverflowException özel durum oluşur.
Çözüm

Düzeltme bilgileri

Microsoft, desteklenen bir düzeltmeyi kullanıma sunmuştur. Ancak bu düzeltme yalnızca bu makalede anlatılan sorunu düzeltmek amacıyla hazırlanmıştır. Bu düzeltmeyi yalnızca bu sorunla karşılaşmış olan sistemlere uygulayın.

İndirilebilir bir düzeltme varsa, bu Bilgi Bankası makalesinin üst kısmında "Düzeltme İndirilebilir" bölümü bulunur. Bu bölüm görünmüyorsa, düzeltmeyi edinmek üzere Microsoft Müşteri Hizmetleri ve Destek bölümüne bir istek gönderin.

Not Ek sorunlar oluşursa veya sorun giderme gerekiyorsa, ayrı bir hizmet isteği oluşturmanız gerekebilir. Ek destek sorularına ve bu düzeltme için geçerli olmayan sorunlara normal destek ücretleri uygulanır. Tam listesi Microsoft Müşteri Hizmetleri ve destek telefon numaralarını veya ayrı bir hizmet isteği oluşturmak için aşağıdaki Microsoft Web sitesini ziyaret edin: Not "Düzeltme indirilebilir” formu, düzeltmenin indirilebildiği dilleri görüntüler. Kendi dilinizi görmüyorsanız, bu dil için bir düzeltme mevcut değil demektir.

Yükleme notları

Aşağıdaki Windows Installer paketleri aşağıdaki sırayla yükleyin:
  1. Eşitleme -<KB>- v2.1 -<arch>-<lang>.msi<b00> </b00> </lang> </arch> </KB>
  2. ProviderServices -<KB>- v2.1 -<arch>-<lang>.msi</lang> </arch> </KB>
  3. DatabaseProviders -<KB>- v3.1 -<arch>-<lang>.msi</lang> </arch> </KB>
Not Yalnızca karşılık gelen bileşenleri bilgisayarınızda yüklü varsa, Windows Installer paketleri yükleyin. Örneğin, ProviderServices - yüklemeyin<KB>- v2.1 -<arch>-<lang>Sync Framework 2.1 Sağlayıcı Hizmetleri yoksa .msi dosyasýný.</lang> </arch> </KB>

Önkoşullar

Bu düzeltmeyi uygulamak için eşitleme Framework 2.1 yüklü olması gerekir.

Yeniden başlatma gereksinimi

Etkilenen dosyaların değil kullanılıyorsa, bu düzeltmeyi uyguladıktan sonra bilgisayarı yeniden başlatmanız gerekmez.

Düzeltme değiştirme bilgileri

Bu düzeltme başka bir düzeltmenin yerini almaz.

Dosya bilgileri

Bu düzeltmenin genel sürümü dosya özniteliklerine (veya daha yeni dosya özniteliklerine) sahip aşağıdaki tabloda listelenir. Bu dosyaların tarihleri ve saatleri Koordinatlı Evrensel Saat'te (UTC) listelenmiştir. Dosya bilgilerini görüntülediğinizde koordinatlı evrensel saat yerel saate dönüştürülür. UTC ve yerel saat arasındaki farkı bulmak için Denetim Masası'ndaki Tarih ve Saat öğesinde Saat Dilimi sekmesini kullanın.
Dosya adı Dosya sürümü Dosya boyutu Tarih Saat Platform
Microsoft.synchronization.data.sqlserver.dll 3.1.2508.0 280,816 05 Mayıs 2012 06:18 x86
Microsoft.synchronization.data.sqlserver.dll 3.1.2508.0 280,816 05 Mayıs 2012 06:18 AMD64
Daha fazla bilgi
Aşağıdaki kod, görsel bir onaltılık değeri (0x00000000A0171FB0) kullanır. Kodunu çalıştırdığınızda, bir negatif tamsayı değeri alırsınız:
Declare @TS timestamp Set @TS=0x00000000A0171FB0 select @TS +1 ====>>>>>> this gives a negative value: -1609097295
Doğru önce tüm hesaplamalar BIGINT veri türü değeri @@dbts değerine dönüştürülecek uygulamasıdır:
Declare @TS timestamp Set @TS=0x00000000A0171FB0 select convert(bigint,@TS) +1 ====>>>>>> this gives a correct time stamp value
Referanslar
@@Dbts hakkında daha fazla bilgi için aşağıdaki MSDN Web sitesini ziyaret edin:

Uyarı: Bu makalenin çevirisi otomatik olarak yapılmıştır

Özellikler

Makale No: 2703853 - Son İnceleme: 05/07/2016 22:35:00 - Düzeltme: 2.0

Microsoft Sync Framework 2.1

  • kbautohotfix kbqfe kbhotfixserver kbfix kbexpertiseadvanced kbsurveynew kbmt KB2703853 KbMttr
Geri bildirim