Portál AbcLinuxu, 7. května 2025 08:38

Dotaz: FireBird BLOB

24.11.2013 00:06 zipi | skóre: 21
FireBird BLOB
Přečteno: 1048×
Odpovědět | Admin
Měl bych prozbu ohledně databáze FireBird 2.1.. Netuší někdo jak si mohu s blobu vyzobnout jenom určité hodnoty? V blobu nám xx hodnot, který začínají třeba ?890 a končí opět ?. Jako první jsem si blob převedl na VARCHAR, který mi zobrazí hodnoty za sebou. A zde jsem se zasekl.
SELECT  t1.*, 
CAST(SUBSTRING(blob1 FROM 1 FOR 32000) AS VARCHAR(32000)) AS myblobfield 
 FROM t1
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

24.11.2013 18:15 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: FireBird BLOB
Odpovědět | | Sbalit | Link | Blokovat | Admin
Především je chyba, máte-li data, která mají vnitřní strukturu, se kterou chcete dále pracovat, ukládat je jako blob. Firebird sice má i řetězcové operace (jen si nejsem jistý, jestli ve verzi 2.1 jsou už jako built-in a nemusíte použít UDF), ale znovu a znovu rozebírat ten blob bude nepraktické a neefektivní. Blob je datový typ určený primárně k ukládání dat (potenciálně příliš velkých pro běžné typy), která jsou pro server nedělitelným celkem, který se pouze předá klientovi a ten si s ním nějak poradí.
25.11.2013 00:01 zipi | skóre: 21
Rozbalit Rozbalit vše Re: FireBird BLOB
To svami souhlasim, ale doslo na pozadavek ze by chteli s blobu prave tahat oni udaje :(.. Bohuzel se to musi provadet na strane databaze ... Kdyby data byla jednodna a vedel bych ze na pozici 5 je danej udaj tak by to bylo ok, ale zacina to a konci to jinde ..
25.11.2013 07:13 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: FireBird BLOB
Podle mých zkušeností, je-li špatně navržená datová struktura, je pořád lepší ji opravit (i když to dá hodně práce a přemlouvání), než pořád dokola krkolomně obcházet její nedostatky. A tohle je hodně špatný návrh.
25.11.2013 11:22 Logik
Rozbalit Rozbalit vše Re: FireBird BLOB
Pokud to jinak nejde, napište si stored proc/udf na parsování blobu, navěste tam trigger a rozložte si ho při ukládání do databáze....

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.