Pokročilé hledání             

HELIOS iNuvio      FAQ     Uživatelský panel    

Registrovat     Přihlásit se

    Obsah fóra> Časté dotazy> Systémové dotazy
    Verze pro tisk

SELECT z pluginu vrací pouze 255 znaků řetězce

Zapisují se opakující se dotazy na řešení systémových problémů z provozu Helios Orange. Patří sem dotazy typu "Po instalaci SQL serveru se nemohu přihlásit do Heliosu." apod.

Moderátor: orange_moderator

Odeslat odpověď
Příspěvek: 1 • Stránka 1 z 1
  • Odpovědět s citací

SELECT z pluginu vrací pouze 255 znaků řetězce

Příspěvekod jan.sindelar v 14.05.2007 08:17

Pokud potřebujeme načíst z pluginu přes Helios.OpenSQL textový řetězec, narazíme na omezení - SELECT vrátí jen 255 znaků, i když je řetězec ve skutečnosti delší. Toto omezení je dáno použitím knihovny NTwDbLib.dll, kterou Helios využívá pro připojení k SQL serveru, a nelze tuto hodnotu nějak "přenastavit". Pokud přesto chceme načíst řetězec delší než 255 znaků, musíme použít poněkud komplikovanější SELECT s využitím funkce SUBSTRING:

Kód: Vybrat vše
SELECT SUBSTRING(Sloupec,1,255), SUBSTRING(Sloupec,256,255), SUBSTRING(Sloupec,511,255), ..., LEN(Sloupec)


Tímto způsobem načteme jednotlivé 255ti znakové části a můžeme vyskládat výsledný delší řetězec. Funkce LEN nám pak vrátí původní délku sloupce, protože knihovna NTwDbLib.dll navíc ořezává mezery zprava.

UPDATE 3.7.2009: (Radek Naumec, Harpagon Software s.r.o.) Funkci LEN je možno použít pouze pro typ VARCHAR. U atributů typu TEXT je nutno použít obdobnou funkci DATALENGTH.
jan.sindelar
 
Příspěvky: 23
Registrován: 06.10.2006 13:37
Firma: Asseco Solutions, a.s.
Nahoru

Odeslat odpověď
Příspěvek: 1 • Stránka 1 z 1

Zpět na Systémové dotazy

Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 4 návštevníků

         
  • Tým • Smazat všechny cookies z fóra • Všechny časy jsou v UTC + 1 hodina
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group, Český překlad – phpBB.cz

© copyright 2024 Asseco Solutions, a.s.