Příznaky
Zvažte následující scénář:
-
Máte propojený server v Microsoft SQL serveru 2008 R2.
-
Na propojeném serveru, který má sloupec typu smalldatetime , je tabulka.
-
Spuštěním příkazu INSERT nebo INSERT INTO vložíte záznam, který obsahuje data typu DateTime , do tabulky.
V tomto případě selže příkaz. Zobrazí se také následující chybová zpráva:
Zprostředkovatel OLE DB "SQLNCLI10" pro odkazovaný server "LinkServerName " vrácená zpráva "vícenásobné operace OLE DB generují chyby. Zkontrolujte každou hodnotu stavu OLE DB, pokud je dostupná. Nebyla dokončena žádná práce. ". Msg 7344, Level 16, state 1, line 1The Provider OLE DB "SQLNCLI10" pro odkazovaný server "LinkServerName" se nepodařilo vložit do tabulky "TableName ", protože se jedná o sloupec "ColumnName". Převod se nezdařil, protože hodnota dat přesáhla datový typ, který poskytovatel používá.
Příčina
K tomuto problému dochází kvůli problému s mapováním datových typů na serveru SQL Server.
Řešení
Informace o kumulativní aktualizaci
SQL Server 2008 R2 Service Pack 2
Oprava pro tento problém byla poprvé vydána v kumulativní aktualizaci 3. Další informace o tom, jak získat tento kumulativní balíček aktualizací pro SQL Server 2008 R2 Service Pack 2, najdete v následujícím článku znalostní báze Microsoft Knowledge Base:
2754552 Kumulativní balíček aktualizací 3 pro SQL Server 2008 R2 Service Pack 2Poznámka Vzhledem k tomu, že buildy jsou kumulativní, každá nová oprava obsahuje všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozí verze systému SQL Server 2008 R2 Service Pack 2 – oprava. Doporučujeme zvážit použití nejnovější opravy, která obsahuje tuto opravu hotfix. Další informace naleznete v následujícím článku znalostní báze Microsoft Knowledge Base:
2730301 Sestavení SQL Server 2008 R2, která byla vydána po SQL serveru 2008 R2 Service Pack 2, byla vydána
Stav
Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny v části Informace v tomto článku jsou určeny pro produkt.
Řešení
Problém vyřešíte jedním z následujících způsobů:
-
Přetypujte data typu DateTime do typu smalldatetime v příkazu.
-
Změňte sloupec typu smalldatetime na typ DateTime na odkazovaném serveru.