|
SQL baze podataka - Sponzor: Baze-Podataka.net MySQL, MSSQL, Oracle, Access, ODBC. Ako imate problem brže i preciznije ćete dobiti odgovor ako priložite strukturu tabela ili skript koji kreira tabele i puni ih test podacima umesto što to problem opisujete samo rečima. Sponzor: Baze-Podataka.net - Blog o bazama podataka |
|
Alati teme | Način prikaza |
|
09. 09. 2008. | #1 |
dinosaurus
Master
Datum učlanjenja: 29.12.2005
Lokacija: Nova Engleska
Poruke: 636
Hvala: 79
263 "Hvala" u 66 poruka
|
TECkit bi trebalo da bude ono što tražiš, ali proveri u uputstvu: http://scripts.sil.org/cms/scripts/p...ECkitDownloads
|
10. 09. 2008. | #2 | ||
član
Certified
Datum učlanjenja: 20.08.2008
Poruke: 58
Hvala: 21
144 "Hvala" u 15 poruka
|
Citat:
Hvala! Citat:
No, hvala na podsećanju za upotrebu .NET-a. Koristimo SQL 2005 ali sam u brzini potpuno smetnula sa uma da tu mogu da ga koristim! Vrlo verovatno ću na kraju tako i uraditi, sad bih da zbog vrlo bliskog deadline-a primenim nešto što radi odmah na iole zadovoljavajući način a posle ću da optimizujem. Hvala svima na odgovorima! |
||
10. 09. 2008. | #3 |
član
Certified
Datum učlanjenja: 20.08.2008
Poruke: 58
Hvala: 21
144 "Hvala" u 15 poruka
|
Samo da se javim da je operacija uspela i da je pacijent preživeo.
Evo kratkog opisa šta je tačno bio problem i kako je razrešen, za slučaj da se neko nadje u sličnoj situaciji: Problem: Eksport podataka iz MSSQL u txt/xml korišćenjem naredbe bcp s tim da rezultujuci fajl ima utf-8 encoding. Pokušaj rešavanja: Očekivano je bilo da sledeća opcija odradi posao: bcp "select * from nekaTabela" queryout "C:\temp\nekaTabela.xml" -w -S"nekiServer" -U"user" -P"password" Opcija -w radi ono sto i pise u helpu: Performs the bulk copy operation using Unicode characters. Ono sto nije preciznije navedeno u helpu je da se kao rezultat dobija fajl koji ima encoding: UTF-16 with little-endian byte order. Ništa nije bilo navedeno po pitanju dobijanja fajla koji je u UTF-8 formatu. U potrazi za rešenjem na netu na par foruma predloženo je da se u pozivu bcp komande koriste opcije -c -C65001 uz napomenu da se tako dobija fajl koji nema BOM (byte-order mark). Meni ova opcija nije radila jer se stalno dobijala poruka da ne postoji kodna strana 65001. Umesto 65001 probano je sa opcijom -c C"UTF-8" i to je u prvi mah delovalo da radi jer se ne javlja pomenuta greška i kreira se fajl koji je izgleda u UTF-8 formatu ali je problem nastao ukoliko eksportujem sadržaj koji sadrži naša slova (š, ć, ž...). Za takav fajl UltraEdit nije prijavljivao problem ali ga ipak nije prepoznavao kao UTF-8 dok je XMLSpy prijavljivao da u dokumentu postoje karakteri koji ne bi trebalo da se prisutni u dokumentu koji je u utf-8 formatu. Moguće je da je to sve imalo veze sa onim što se ne kreira onaj BOM, ne znam, u svakom slučaju opcija nije radila to što mi je trebalo. Na kraju, problem za sada razrešavam tako što se transformacija u UTF-8 radi posle kreiranja xml fajla i to uz pomoć TECkit toolkita koji je DragiTata predložio (još jednom hvala za link ). Rešenje: Ceo eksport sada ide u dva koraka: U MSSQL-u: bcp "select * from nekaTabela" queryout "C:\temp\InputFileUTF16.xml" -w -S"nekiServer" -U"user" -P"password" a zatim se iz komandne linije poziva txtconv.exe sa sledećim opcijama: c:\temp\txtconv -if utf16le -of utf8 -i InputFileUTF16.xml -o OutputFileUTF8.xml Rezultujuci fajl (OutputFileUTF8.xml) je u korektnom utf-8 formatu i sa kreiranim BOM. |
|
|
Slične teme | ||||
Tema | Početna poruka teme | Forum | Odgovori | Poslednja poruka |
Sinhronizacija baza [MSSQL 2005] | dee | SQL baze podataka - Sponzor: Baze-Podataka.net | 9 | 13. 09. 2009. 14:48 |
problem sa MSSQL konekcijom | _korso_ | SQL baze podataka - Sponzor: Baze-Podataka.net | 5 | 03. 01. 2008. 11:32 |
C# & Mssql | oliver78 | Programiranje | 3 | 08. 03. 2007. 15:27 |
MSSQL 2005 Express i UTF-8 | Nick | SQL baze podataka - Sponzor: Baze-Podataka.net | 4 | 18. 09. 2006. 22:06 |
Eksport i import MySQL baze | Dragan Babić | SQL baze podataka - Sponzor: Baze-Podataka.net | 18 | 13. 08. 2006. 12:28 |