Momentálne ste offline a čaká sa, kým sa znova pripojíte na internet

DateTime hodnoty sú zaokrúhlené na najbližšiu sekundu keď obslužný program logiky podnikania sa používa v SQL Server 2008 alebo SQL Server 2008 R2

DÔLEŽITÉ: Tento článok bol preložený pomocou softvéru na strojový preklad od spoločnosti Microsoft, nie prekladateľom. Spoločnosť Microsoft ponúka články preložené prekladateľmi aj strojovo preložené články, vďaka čomu máte možnosť prístupu ku všetkým článkom databázy Knowledge Base vo svojom jazyku. Strojovo preložený článok však nie je vždy perfektný. Môže obsahovať chyby týkajúce sa slovnej zásoby, syntaxe alebo gramatiky, podobne ako cudzinec môže robiť chyby, keď rozpráva vašim jazykom. Spoločnosť Microsoft nenesie zodpovednosť za akékoľvek nepresnosti, chyby alebo škody spôsobené akýmkoľvek nepresným prekladom obsahu alebo jeho použitím zo strany zákazníkov. Spoločnosť Microsoft softvér na strojový preklad pravidelne aktualizuje.

Pokiaľ chcete vidieť anglickú verziu článku, kliknite sem:2598510
PRIZNAKY
Uvažujme o nasledujúcom prípade:
  • Môžete nakonfigurovať replikácie hromadnej korešpondencie v programe Microsoft SQL Server 2008 alebo Microsoft SQL Server 2008 R2.
  • Publikácia obsahuje aspoň jeden článok tabuľky.
  • Článok tabuľka obsahuje jeden alebo viac stĺpcov DateTime.
  • Môžete nakonfigurovať článku používať vlastné podnikanie logiky popisovač.
  • Obslužný program logiky podnikania kľučky udalosti, ktoré nastanú počas hromadnej korešpondencie synchronizácia replikácie.
  • Obslužný program logiky podnikania používa vlastné dataset vrátiť údaje.
V tomto scenári spustení danej obsluhy logiky podnikania ako sa očakávalo. Avšak časť dátumu milisekundu sa zaokrúhli na najbližšiu sekundu plný. Napríklad hodnotu typu údajov DateTime "2030-01-01 12:34:56.789" zaokrúhlené na "2030-01-01 12:34:57.000."
PRICINA
Tento problém sa vyskytuje, pretože DateTime hodnoty sú uložené v premennej variant typu údajov, keď údaje prenesené medzi spravovaný kód a nespravovaná kód.

Poznámka DateTime variantu nepodporuje časť dátumu odozvy v milisekundách.

Poznámka Zlúčenie agenta SQL Server je napísané nespravovaná kód. Logika pre spoločnosť Microsoft.ČISTÝ zhromaždenia je napísané spravovaný kód.


STAV
Spoločnosť Microsoft potvrdila, že ide o problém v produktoch spoločnosti Microsoft, ktoré sú uvedené v časti „vzťahuje sa na".
RIEŠENIE
Je možné tento problém obísť ukladaním DateTime hodnôt v stĺpci, ktorý má údaje typu char alebo údaje typu varchar.
DALSIE INFORMACIE
Napríklad problém, ktorý je popísaný v časti „príznaky"sa vyskytne, ak vlastnú pracovnú logiku kľučky konfliktné aktualizácie vyhlásenia na vydavateľa a účastníka. Časť čas odozvy v milisekundách sa stratí, ak vydavateľ dataset alebo účastníka dataset sa skopíruje do vlastných dataset a potom vlastné dataset vrátiť Zlučovač pre replikáciu hromadnej korešpondencie.

Tento problém sa vyskytuje, ak údaje nezmení vlastný kód, ktorý sa podobá Nasledujúca ukážka kódu.

public override ActionOnUpdateConflict UpdateConflictsHandler(..., ref customDataSet, ...){customDataSet = publisherDataSet.Copy();conflictLogType = ConflictLogType.ConflictLogPublisher;return ActionOnUpdateConflict.AcceptCustomConflictData;


ODKAZY
Ďalšie informácie o tom, ako vykonávať obchodné logiky obslužný program pre zlúčenie článku navštívte nasledujúce webovej lokalite MSDN:

http://msdn.Microsoft.com/en-us/library/ms147911.aspx


Upozornenie: Tento článok bol preložený automaticky.

Vlastnosti

ID článku: 2598510 – Posledná kontrola: 04/16/2012 21:44:00 – Revízia: 1.0

Microsoft SQL Server 2008 Standard, Microsoft SQL Server 2008 Enterprise, Microsoft SQL Server 2008 R2 Standard, Microsoft SQL Server 2008 R2 Enterprise, Microsoft SQL Server 2008 R2 Datacenter

  • kbsurveynew kbtshoot kbbug kbprb kbmt KB2598510 KbMtsk
Pripomienky
tml>