SQL, Databáze
25. 8. 2011 13:42
anonym
178.41.100.194
Dobrý deň všetkým.
Hľadám spôsob zápisu dát z db tabuľky do súboru na disk cez SQL procedúru. Existuje na to nejaké jednoduché riešenie?
Vďaka.
25. 8. 2011 15:34
Tomáš Jecha, MVP, MCSD
860 1596
Jednoduché ne. Jen složité, nehezké a potencionálně nebezpečné. Na tohle si napište aplikaci v C#.
Viz: http://www.vbnet.cz/clanek--52-komunikac...
25. 8. 2011 17:21
80.95.246.42
Existuje a není to nic nehezkého a složitého.Záleží jaký máte SQL server.. v případě MSSQL,tak ten má v sobě utilitu právě na generování výstupu z T-SQL skriptu do souboru(txt,xml,csv,..)Používám jej na denní bázi..a problémy s tím nejsou
25. 8. 2011 18:05
Ondřej Linhart
-553 3274
Také jsem si říkal že by v tom neměl být problém, ale tazatel chce zřejmě provést zápis dat do souboru přímo z uložené procedury bez nutnosti použití dalších věcí.
25. 8. 2011 18:52
Tazatel chce podle toho, co napsal, provést export dat pomocí uložené procedury. Utilit na a programů na zpracování výstupu je samozřejmně nepřeberné množštví.
Konkrétně C# jsem doporučil pro případ, kdy chcete vlastní formát exportu.
25. 8. 2011 19:11
Má vůbec přímo jazyk T-SQL prostředky pro export dat do souboru? Nikdy jsem to nepotřeboval, takže ani nezjišťoval. Pro importování dat z externího souboru je BULK INSERT, pro exportování vím pouze o nástroji bcp (součást SQL Serveru).
25. 8. 2011 21:21
T-SQL právě nemá. Na tohle slouží různé data mining projekty. Ty však nejsou součástí express edice.
25. 8. 2011 21:40
77.48.126.251
Tazatel si může vytvořit assembly (ddl) v C# nebo Visual Basicu, nahrát ji na server a přilinkovat k databázi. Jako jeden vstupní parametr může mít třeba tabulku (recordset) a jako druhý cestu, kam se to má uložit. Pak ji stačí obalit SQL Server funkcí a může ji volat odkud chce (třeba ze stored procdury) jako jakoukoli jinou SQL Server funkci. Čili export není spouštěn žádnou externí aplikací, ale přímo SQL serverem. Pokus se jedná o nějaký pravidelný export, může to pouštět třeba i Jobem.
Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování. Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.
zapomenuté heslo
zaregistrujte se
Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?
Nahlásit Zrušit
zavřít