Hogyan kell menteni XML dokumentum sql a C # - verem túlcsordulás orosz
Kezdjük azzal, hogy meg kell határozni a séma tárolására használt adatbázis. A „általában vett XML” erre a célra szükséges megválaszolni a kérdést?
Ha a dokumentum lehet betölteni a felhasználói bázis - a legjobb megközelíteni a kérdést, annak tárolási, mint a tároló bármely fájl - azaz tartsa varbinary (max). plusz egy külön oszlopban a fájl nevét egy string, plusz egy oszlop tárolására fájlattribútumok, mint például a létrehozása / módosítás dátuma.
Ha az XML alakul a program belsejében - a legjobb, hogy tartsa a nvarchar (max). nem hoz létre maga a probléma kódolást.
Átalakítás XML-dokumentum meglehetősen egyszerű vonal:
Általában azonban nincs értelme tárolni formájában vonal a teljes dokumentumot - megtartani elég belőle a gyökér elem:
A második út „metélni” általában könnyen visszakereshető XML-nyilatkozatot. A fordított átalakítás nem befolyásolja, mert a gyökér elem maga is érvényes dokumentumot.
Ha úgy dönt, hogy tárolja a dokumentum formájában bájttömböt - mindent válik kissé bonyolultabb:
Ha szükség van, hogy meghatározza egy adott kódolás - szükség lehet használni StreamWriter:
A legegyszerűbb módja:
- Készíts egy oszlop tárolására típusú nvarchar (MAX).
- Átalakítás xml-fájl húr.
- Beírása ez a karakterlánc az adatbázisban (attól függően, hogy a futó adatok)
A hátránya ennek a módszernek, hogy ez xml lenne „halott adat”, amely csak akkor fut a kliens. Sokkal jobb bude típusának beállításához az XML oszlop (ha támogatja az adatbázis - például MS SQL és MySQL), majd meg lehet futtatni a szerveren, de ez egy nagyon tág téma, ami szintén függ az adatbázist.
Válaszol augusztus 23 '16 at 10:55
Azt hiszem, nem helyes, hogy tárolja az adatokat, hogy milyen típusú nvarchar (MAX). Vonal korlátozás nélkül gyakran problémákhoz vezethet. Hogyan kell kódolni? Nem gondolja? - Denis Bubnov augusztus 23 '16 at 11:06
Elvileg helyes, de van egy ellentmondás: ez a módszer működik függetlenül egy külön adatbázist, a fájlnevet és kódolás tárolható külön mezőkben, nvarchar (MAX) elvben korlátozza, ha tudod, hogy a maximális fájlméretet. Szintén az utolsó kérdése TC szoktam egyáltalán varbinary (MAX), amely már általában rossz. És igen típusa XML (rendszer) biztosan jobb, de ez csak akkor működik, egy adott adatbázishoz. - Mirdin augusztus 23 '16 at 11:11