Hromadný import dat

Top  Previous  Next

Seznam témat:

řešení

 

Řešení

Při hromadném vkládání dat pomocí příkazu INPUT je třeba pamatovat na to, že normálně se do logu zapíše potvrzení celé transakce (commit) až na konci celého inputu. Takže když se pak databáze replikuje, jsou zasílány jednotlivé inserty v rámci jedné transakce. Pokud se některý z insertů při replikaci neuloží (např. kvůli nedodržení ref. integrity), je celá transakce stornována a není tak přenesen žádný z importovaných záznamů.

 

Řešením je před importem zapnout tzv. autocommit režim příkazem:

SET TEMPORARY OPTION Chained='Off'

 

Příkaz způsobí, že po každém vloženém záznamu se automaticky provede commit, takže při replikacích nebude nepředstavovat celý import jedinou transakci, ale bude rozdroben. Protože při nastavování parametru bylo použito slovo TEMPORARY, je option v platnosti jen pro danou konexi a pouze do jejího ukončení.

 

Související témata