Da tipic masculin, nu citesc ce scrie mare ca de exemplu:
"If you experience any errors that have the prefix "Internal error" when you use SQL Server Compact 3.5, try the operation again as the error might not reproduce. If the error appears again, you should immediately contact Microsoft Product Support Services.
The internal errors cannot be resolved by common troubleshooting techniques. "
Recunosc nu am citit ultimul paragraf. Dar dupa cum va inchipuiti e o proveste lunga.
Am avut o aplicatie de facut mobile care sa ruleze pe o flota de device Windows Mobile(ca si cum ar mai fi si altele
) industriale. Da nu facute ieri, ci mai spre luna trecuta
, sigur nu cu Windows Mobile 6.5, 6.1,6, 5 ci chiar cu Windows Mobile 2003. Dupa cum tot spun, au o durata de viata si o una de utilizare si utilitate de ani buni. Si si azi isi merita pretul de vreo citeva laptopuri, si nu nimeni nu o sa le schimbe la 6 luni. HELLO MS loud and clear? Da o sa ziceti sa mai poate face si un upgrade, in cazul nostru hard are unu pina pe la vreo 5 dar producatorul a zis ca nu ne lasa, doar el le pune si in conditiile lui, desi exista ROMu... OK so am pus ultimul build de 2003, da asta a adus ceva limitari la ce puteam face in program da pina la urma la experienta noastra, user experience nu a avut de suferit.
Am zis ca, calea simpla si kosher sa facem frumos circulatia de date e merge replication. Am insistat la SQL Server Compact 3.5 SP1 pe device. Pe server clar SQL 2005 si nenegociabil. Da ar fi fost mai simplu cu 2008 da asta e. Si testele de la noi din locatie (sa fim sigur ca implementarea o sa fie fara surprize), primele au fost cu 2008. Si oricum nu scapi de el, ca sa poti face seta merge replication SQL Server 2005 cu SQL Server Compact 3.5 SP1 folosesti Microsoft SQL Server Management Studio Express de 2008 (ca cel de 2005 normal din vesiunea, sigur nu express ca nu stie merge replication, nu stie 3.5... ) .
Sa incepem in a arata ca nu sintem script kiddies
, un examplu simplu si relativ clar de a face asa ceva am gasit in MSDN http://msdn.microsoft.com/en-us/library/ms171908.aspx. Bun... il faci pas cu pas si ajungem la pasul 3 de la "Create a database and populate with data" :"Open a new query window. Create a SQL Server Compact Edition database and populate the database with data." si scriptul SQL incepe cu use master...
KOOL nu? Vad ca nimeni pina acuma nu a comentat (ca e vorba de crearea a DB de SQL normala ca aia mobile e mai la coada), dar vad ca calitatea articole e la nivelul la care nu ma pot obisnui (come on, pattern meu preferat e copy paste si imi puneti bete in roate
). Dar in general cu corectiile astea sample e folosibil.
Si pot sa spun ca merge replication cu mobile e ceva profund stiintific
, care necesita incantatii si tehnici voodo, la testele noastre, cind studiam toate scenariile de deployment, a mers la 70% din incercari, in restul sters DB si da capo, si o data am pus chiar din nou SQL Serveru... Dar la client a mers din prima stiam la ce sa ne asteptam si unde sa fim atenti, macar atit.
OK ajungem sa facem deployment pe devices, aplicatia merge si dau merge replication si: "Internal error: The identity range was not established." Mai dau o data, la fel, incerc pe urmatorul device, normal la fel, si tot incerc la ele.
Remarcabil e ca la noi in testele/repetitie deployment a mers... Ma duc la nea gogu, la tanti livia
si tot ce imi da in plus e asta http://technet.microsoft.com/en-us/library/ms172898.aspx de unde aflu cum se cheama eroarea SSCE_M_IDENTITYRANGE (si si citatul de la inceput), in rest vreo citiva care au avut problema si atit.
Sintagma vulpoi batrin are sigur un element care se aplica la mine (batrin
).
No bine, troubleshooting: daca nu vedeam reteau pe wireless (singura optiune de comunicare, nu dai o carutza de bani pe un device legat cu matz tot timpul) aveam alta eroare (am incercat la testele etc
, hai sa vedem de replication, in internet explorer pe device sa vad adresa asta http://<computername>/SQLMobile/sqlcesa35.dll, si pagina fu OK. Pe urma sa vedem diagnostic http://<computername>/SQLMobile/sqlcesa35.dll?diag si si asta e OK. Acuma incerc merge replication din nou din program si e OK ??!!!.
WCTF! Da stai ca mai avem devices pe masa, si cu acesti pasi merge si pe ele. A nu am mentionat vreo 3 incantatii care le faceam in timp ce incercam (secret de serviciu
) si care probabil intra la unusual troubleshooting techniques. So problem solved(for us, at least) si daca blogul era in engleza ajutam si pe alti amariti cu problema asta si in plus scuteam de alte citeva incantati si tehnic voodoo (sper ca nu si sacrificii
) pe citiva de la MS.... Da recunosc, nu am contactat imediat "Microsoft Product Support Services", desi tonul era imperativ, vorba aia nu ne cunoastem personal (sau ne?)
.
Pe la concluzii, ca multe din chestiile care le-am invatat pe o firma din inceputurile mele, e ca in masura posibilitati incerci maximum posibil, si faci repetiti de implementare la tine. Nu e timp pierdut, ce pierzi testind cistigi in timp in locatie si sa nu spunem ca faci si impresie, vorba lui Archibald "Harry" Tuttle (Brazil) "Go anywhere, travel light, get in, get out, wherever there's trouble, a man alone". Cu diferenta ca noi lucram in echipe
. Si daca am sta mult la implementari nu am mai apuca sa mai facem una si alta, si cum recent am terminat mai multe proiecte care toate au implementarea zilele astea, daca am sta mai mult am putea sa inchiriem office-ul
.
2, ca Windows Mobile e o platforma capabila si poti sa faci enorm de multe cu ea si nu neaparat consumer, adica iPhone mindset. SQL Compact la rindul lui ceva foarte puternic si care ruleaza fara probleme si pe PC (si la cite il poti folosi si pe acolo).
Un punct de inceput spre lumea asta sa zicem ar fi asta http://windowsitpro.com/article/articleid/94976/sql-server-compact-edition-documentation.html. Si da merge mina in mina cu SQL Server "normal" si replication e una din caile de aduce datele, nu e singura(dar asta e o discutie si mai lunga
), depinde de aplicatie ce sa folosesti. Scenarii nenumarate de utilizare a tehnologiile aste doua si impreuna si independent. Da documentaie mai e cum e, cred ca toate problemele pleaca oricum de la ea, ca tehnic e la calitatea obisnuita. Si in plus de aia mai exista si bussinesu de consultanta, daca tot ar merge din prima si exact dupa pasi din help...
So ce mai stati, si mai e si suport, uite de exemplu Mobile Incubation Week European Editon (http://www.microsoftstartupzone.com/Blogs/brian_hoskins/Lists/Posts/Post.aspx?List=82c8b64a%2Dde7d%2D41dc%2D85c1%2D139e3c570975&ID=13).
Next? 1 Mai