Autor Téma: Otevření SQL CE databáze s nvarchar >127 znaků  (Přečteno 6462 krát)

Offline jux

  • Příspěvků: 10
  • Karma: 0
    • Verze Delphi: XE
Re:Otevření SQL CE databáze s nvarchar >127 znaků
« Odpověď #15 kdy: 02-04-2015, 19:20:54 »
Hmmm, ta to vypadá, že se asi žádné rady už nedočkám...
Mohl by mi prosím někdo zkusit poradit alespoň v tom, jestli správně používám to přepnutí Cursorlocation na Serverside ? Není potřeba tam nastavit ještě něco dalšího ?  Není mi jasné, proč mi to nefunguje, když na několika fórech ve světě to zmiňují jako řešení, a mě to nejde ani zapnout..

Díky předem

JJ

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 1795
  • Karma: 72
    • Verze Delphi: D5,D2007, DXE, DXE2 + 2 poslední (Tokyo)
    • O Delphi v češtině
Re:Otevření SQL CE databáze s nvarchar >127 znaků
« Odpověď #16 kdy: 02-04-2015, 23:21:06 »
Jen zkus jeste tohle:
Mej AdoQuery a u ni nastav CursorType := ctOpenForwardOnly a CursoLocation := clUseServer.
Nesmis to mit pripojene na Datasource ani grid.

Proste ciste AdoQuery, pak AdoQuery.Open a AdoQuery.Next;
Embarcadero MVP - Czech republic

Offline jux

  • Příspěvků: 10
  • Karma: 0
    • Verze Delphi: XE
Re:Otevření SQL CE databáze s nvarchar >127 znaků
« Odpověď #17 kdy: 03-04-2015, 13:54:40 »
Díky, ale bohužel to vede na stále stejnou hlášku
" Operace s více kroky vedla k vytvoření chyb. Zkontrolujte všechny hodnoty stavů služby OLE DB, jsou-li k dispozici. Nebyla provedena žádná akce"

Použil jsem tento testovací program :

procedure TForm1.Button1Click(Sender: TObject);
begin
AdoQuery1.ConnectionString:='Provider=Microsoft.SQLSERVER.CE.OLEDB.3.5;DataSource=C:\Users\j\Documents\DELPHI_7\TestSDF1\data1.sdf';
 ADOQuery1.CursorType:=ctOpenForwardOnly;
 ADOQuery1.CursorLocation:=clUseServer;
 ADOQuery1.SQL.Add('SELECT * from Lokalita');
 ADOQuery1.Open;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
 AdoQuery1.Next
end;

Nic jiného vyjma ADOQuery a dvou tlačítek v programu nebylo. K chybě dojde při OPEN.

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 1795
  • Karma: 72
    • Verze Delphi: D5,D2007, DXE, DXE2 + 2 poslední (Tokyo)
    • O Delphi v češtině
Re:Otevření SQL CE databáze s nvarchar >127 znaků
« Odpověď #18 kdy: 03-04-2015, 14:14:42 »
A kdyz to prelozis s debug dcu a budes krokovat dovnitr? Ja si totiz myslim, ze pri open se provede jeste nejaka jina operace - a treba by se dalo pres neco obejit. Ale tezko rict. Potreboval bych testovaci projekt a databazi abych to mohl kdyz tak zkusit.
Embarcadero MVP - Czech republic

Offline jux

  • Příspěvků: 10
  • Karma: 0
    • Verze Delphi: XE
Re:Otevření SQL CE databáze s nvarchar >127 znaků
« Odpověď #19 kdy: 03-04-2015, 18:42:01 »
Uložil jsem prázdnou testovací tabulku a původní testovací program na  http://www.uschovna.cz/zasilka/EIZHI6EEITEY3KU6-GF2/
pokud by jste měl někdo chuť s tím experimentovat.. Přiznám se, že toho o krokování dcu moc netuším..

Předem díky
JJ

Offline jux

  • Příspěvků: 10
  • Karma: 0
    • Verze Delphi: XE
Re:Otevření SQL CE databáze s nvarchar >127 znaků
« Odpověď #20 kdy: 27-04-2015, 23:40:59 »
Tak jsem to nakonec obešel.
Pomocí exportu v http://sourceforge.net/p/compactview jsem tu databázi převedl na soupis SQL příkazů, a následně jsem všechny deklarace položek typu nvarchar(4000) upravil v textovém editoru na typ ntext . Položky nvarchar(255) šly naštěstí všechny bez ztráty dat převést na nvarchar(127), se kterým v Delphi nejsou problémy . Následně jsem nechal proběhnout všechny příkazy a vytvořil novou upravenou databázi. Tu jsem následně předhodil originál programu, který s ní pracuje - zdá se, že je vše funkční, i když jsem ještě neotestoval vše. Otevírání databáze v Delphi mi již chodí, takže teď jdu konečně psát ten program, který jsem před tak dávnou dobou započal..

Díky všem za čas, který jste strávili při psaní odpovědí na mé nejasné otázky..

JJ

 

S rychlou odpovědí můžete používat BB kódy a emotikony jako v běžném okně pro odpověď, ale daleko rychleji.

Upozornění: do tohoto tématu bylo naposledy přispěno před 120 dny.
Zvažte prosím založení nového tématu.

Jméno: E-mail:
Ověření:
Kolik je šest plus čtyři (slovem):