Welcome to Sign in | Help
in Search

Ajutor cu erori intermitente foarte ciudate

Last post 06-09-2009, 9:08 AM by maican. 15 replies.
Page 1 of 2 (16 items)   1 2 Next >
Sort Posts: Previous Next
  •  06-06-2009, 11:19 AM 7261

    Ajutor cu erori intermitente foarte ciudate

    Salut,

    am intilnit in aplicatia mea bazata ASP.NET o eroare extrem de ciudata... in sensul ca trimit la baza de date o interogare si primesc ca rezultat niste valori care, pus si simplu, nu au de-a face cu tabela respectiva... mai mult, in loc sa fie de tip intreg, primesc ceva string...

    Problema e ca aceste erori sint intermitente s nu-midau seama ce le declanseaza...

    Am avut "norocul" sa prind astfel de erori cu sql profiler-ul, dar totul pare sa fie in regula... adica interogarea pe care o trimit apare si in profiler.

    Aici sint niste link-uri in care apare atit codul folosit cit si eroarea, in watch:

    http://www.unitbv.ro/cata/errors/2.jpg
    http://www.unitbv.ro/cata/errors/3.jpg
    http://www.unitbv.ro/cata/errors/1.jpg

    Multumesc,
    Catalin
  •  06-06-2009, 1:13 PM 7262 in reply to 7261

    Re: Ajutor cu erori intermitente foarte ciudate

    Seteaza un log in care sa salvezi atat string-ul folosit pentru query, cat si rezultatele.
    Pe de alta parte, daca in baza de date ceri una si iti returneaza alta, nu e problema asp-ului.
  •  06-06-2009, 3:05 PM 7263 in reply to 7261

    Re: Ajutor cu erori intermitente foarte ciudate

    portalid este string sau int ?

    Ignat Andrei
    http://serviciipeweb.ro/iafblog
  •  06-06-2009, 3:06 PM 7264 in reply to 7262

    Re: Ajutor cu erori intermitente foarte ciudate

    alexandrul:
    Pe de alta parte, daca in baza de date ceri una si iti returneaza alta, nu e problema asp-ului.


    ok... asta s-ar parea sa fie problema... In eroarea de mai sus interoghez o simpla tabela si astept o singura valoare... cum rezolv asta?

    am mai intrebat aici:
    http://forums.asp.net/t/1432140.aspx
    si
    http://forums.asp.net/t/1426029.aspx

    Catalin
  •  06-06-2009, 3:07 PM 7265 in reply to 7263

    Re: Ajutor cu erori intermitente foarte ciudate

    ignatandrei:
    portalid este string sau int ?

    e Int32 (din DotNetNuke)

    Catalin
  •  06-06-2009, 4:13 PM 7266 in reply to 7265

    Re: Ajutor cu erori intermitente foarte ciudate

    Prima valoare SELECT TOP 1 * FROM?
  •  06-06-2009, 4:59 PM 7267 in reply to 7264

    Re: Ajutor cu erori intermitente foarte ciudate

    maican:
    ok... asta s-ar parea sa fie problema... In eroarea de mai sus interoghez o simpla tabela si astept o singura valoare... cum rezolv asta? am mai intrebat aici: http://forums.asp.net/t/1432140.aspx si http://forums.asp.net/t/1426029.aspx Catalin


    ASTA  E NASPA ...
    Ce tip are ID_Facultate ?
    De unde stii ca e prima valoare si nu ultima ? Sau a 3-a ?



    Ignat Andrei
    http://serviciipeweb.ro/iafblog
  •  06-07-2009, 9:01 AM 7269 in reply to 7267

    Re: Ajutor cu erori intermitente foarte ciudate

    Din codul ASP.NET, SELECT ID_Facultate FROM Facultate where PortalID= valoare trebuie sa-mi returneze o singura valoare...relatie unu-la-unu intre facultate si portal

    ID_Facultate e de tip BIGINT iar in tabela sint 20 de inregistrari. Structura e ceva de tipul: id_facultate, denumire, ..., portalid

    Cum rezolv problema ca trimit o interogare, ia BD imi returneaza in anumite conditii (nu stiu care) cu totul si cu totul altceva...

    Catalin
  •  06-07-2009, 9:04 AM 7270 in reply to 7266

    Re: Ajutor cu erori intermitente foarte ciudate

    MrSmersh:
    Prima valoare SELECT TOP 1 * FROM?


    ce retunreaza sau ? nu inteleg...

    Catalin
  •  06-07-2009, 3:00 PM 7271 in reply to 7270

    Re: Ajutor cu erori intermitente foarte ciudate

    Asa sigur o sa ai o singura inregistrare, asa limitezi numarul de inregistrari returnate.
  •  06-07-2009, 3:01 PM 7272 in reply to 7270

    Re: Ajutor cu erori intermitente foarte ciudate

    Câteva presupuneri: problemă ar putea fi datorată mecanismului ADO.NET connection pool sau/şi faptului că la unele reader-e rămân înregistrări "neconsumate".

    Câteva soluţii:
    [1] foloseşte DataSet (care ţine înregistrările în cache în timp ce un DataReader menţine conexiunea cu BD),
    [2] la fiecare DataReader apelezi Cancel înainte de Close
    [3] pentru a citi acea singură înregistrare folosind un DataReader foloseşti altă soluţie de implementare. Vezi aici secţiunea How to Use Stored Procedure Output Parameters to Retrieve a Single Row.
  •  06-07-2009, 11:04 PM 7273 in reply to 7272

    Re: Ajutor cu erori intermitente foarte ciudate

    Voi incerca sa folosesc un ExecuteScalar (ma intereseaza o singura valoare din tabela) sau [2]. [1] mi se pare costisitoare pentru o singura valoare.

    Cind imi apare aceasta eroare, toate modulele mele din aplicatie incep sa crape in timp ce platforma (DotNetNuke - foloseste o alta BD in aceeasi instanta) merge fara nici o problema. De exemplu, in modulul in care am folosit SqlDataSource imi apare o eraore de tipul "System.Data.DataRowView'+does+not+contain+a+property+with+the+name+'DenumireMaterie" iar eu sint sigur ca procedura trebuie sa returneze coloana "DenumireMaterie"... In mod similar si la alte module care folosesc SqldataSource.

    Pentru un modul care foloseste ObjectDataSource sau Databiding in code-behind, nu sint afisate valorile, iar cauza ar fi, din ce mi-am dat seama in ultima vreme, faptul ca modulul cere ceva catre BD iar BD returneaza cu totul si cu totul altceva --> nu se pot popula clasele --> nu se afiseaza nimic...

    Vedeti si celelalte postari legate de eroare in alte forumuri:
    - http://social.msdn.microsoft.com/Forums/en-US/sqldataaccess/thread/a9010d27-49ca-4cce-93a5-f3c4d62e4010
    - http://social.msdn.microsoft.com/Forums/en-US/sqldataaccess/thread/6191a59b-40cb-49f2-9f59-e9ee1bf2c683/
    - http://stackoverflow.com/questions/843496/please-help-with-system-data-datarowview-does-not-contain-a-property-with-the-n
    - http://stackoverflow.com/questions/959250/getting-unexpected-results-from-sql-query-in-my-asp-net-application
    - http://forums.asp.net/t/1432140.aspx
    - http://forums.asp.net/t/1426029.aspx
    - http://forums.asp.net/t/1420133.aspx

  •  06-08-2009, 12:27 AM 7274 in reply to 7269

    Re: Ajutor cu erori intermitente foarte ciudate

    maican:


    ID_Facultate e de tip BIGINT iar in tabela sint 20 de inregistrari. Structura e ceva de tipul: id_facultate, denumire, ..., portalid


    Cred ca nu vorbim de acelasi lucru... Din poza ta, http://www.unitbv.ro/cata/errors/1.jpg , jos, in debugger, se vede clar ca idr.GetValue(0) este un string, "cunoasterea intreprinderii ..."
    Iarasi e ffff curios ca in query din poza ta, http://www.unitbv.ro/cata/errors/1.jpg , idr.FieldCount este 4, desi tu ai select id_facultate - deci fieldcount ar trebui sa fie 1....
    Stii ce cred eu ?  Ca faci referinta la alt dll - si ca nu ai recompilat cum trebuie ...


    Ignat Andrei
    http://serviciipeweb.ro/iafblog
  •  06-08-2009, 9:12 AM 7275 in reply to 7274

    Re: Ajutor cu erori intermitente foarte ciudate

    Faptul ca idr.GetValue(0) este string si nu int este exact problema mea... trimit ceva la BD iar aceasta returneaza din cind in cind (sa zicem 3-5% din timpul de functionare) exact altceva decit trebuie.... si din cauza asta "crapa"...

    exact din cauza asta am pus si idr.FieldCound in watch... ca sa se vada ciudatenia...

    Si nu am cum sa nu compilez cum trebuie pt. ca toate sint in interiorul aceluiasi proiect.

    Catalin
  •  06-09-2009, 4:42 AM 7281 in reply to 7275

    Re: Ajutor cu erori intermitente foarte ciudate

    maican:


    Si nu am cum sa nu compilez cum trebuie pt. ca toate sint in interiorul aceluiasi proiect.



    Mai pune, te rog , inca ceva.... CommandText-ul de la SqlCommand-ul ala
    Si "Facultate" din select  ce e?View?Tabela?


    Ignat Andrei
    http://serviciipeweb.ro/iafblog
Page 1 of 2 (16 items)   1 2 Next >
View as RSS news feed in XML
Powered by Community Server (Commercial Edition), by Telligent Systems