Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Šta kad baza ne radi?

[es] :: .NET :: Šta kad baza ne radi?

[ Pregleda: 3918 | Odgovora: 14 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

BezPanike

Član broj: 128571
Poruke: 74



+2 Profil

icon Šta kad baza ne radi?30.01.2007. u 08:07 - pre 208 meseci
Nigde ne mogu da pronađem... Microsoft izgleda nije predvideo mogućnost da SQL server može da padne.
Zna li neko kako da uhvatim exception, tj koja je tačno greška kada je SQL server zaustavljen. Znam Try... Catch ex as SQLException...
Sam SQL server može da javi preko 7500 raznih grešaka, ali kako da javi grešku ako je sam servis zaustavljen?
 
Odgovor na temu

ads

Član broj: 127796
Poruke: 13
*.informatika.com.



Profil

icon Re: Šta kad baza ne radi?30.01.2007. u 08:47 - pre 208 meseci
Ali zar ti sam connection objekat ne javi "SQL Server does not exist or access denied"?
 
Odgovor na temu

BezPanike

Član broj: 128571
Poruke: 74



+2 Profil

icon Re: Šta kad baza ne radi?30.01.2007. u 10:38 - pre 208 meseci
Javlja... Gomile različitih grešaka:


"An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)"

"A transport-level error has occurred when sending the request to the server. (provider: Shared Memory Provider, error: 0 - No process is on the other end of the pipe.)"

i sl.

greške broj -1, 0, 2, 40, 232, 233...

To je baš ono što zbunjuje! Kako sve to da pohvatam?
 
Odgovor na temu

sstanko78
Novi Sad

Član broj: 19139
Poruke: 411
*.tippnet.co.yu.



Profil

icon Re: Šta kad baza ne radi?30.01.2007. u 13:04 - pre 208 meseci
Podesi sql server (express) da prihvata TCP/IP remonte konekcije
 
Odgovor na temu

BezPanike

Član broj: 128571
Poruke: 74



+2 Profil

icon Re: Šta kad baza ne radi?30.01.2007. u 14:08 - pre 208 meseci
Aman! Nije problem u konekciji na server, naprotiv - namerno ga rušim da mogu da pohvatam greške.
Poenta je u tome što hoću da kada server padne (i/ili neko pametan isključi serversku mašinu, prsne mrežna konekcija i sl.) iskoči Msgbox da obavesti korisnika o tome (na srpskom), a ne da mi se pojavljuje default poruka o grešci. Problem je u tome što se javlja more različitih grešaka, u zavisnosti od toga da li pokušavam prvi ili n-ti put, da li mi je baza lokalna ili koristim mrežnu konekciju, a broj greške zavisi i od mesta u programu na kojem pokušavam da se nakačim na bazu.

Znači: konekcija je OK, ali šta ako nešto pođe po zlu?
 
Odgovor na temu

vladdy
Chicago, USA

Član broj: 30119
Poruke: 137
*.dsl.emhril.ameritech.net.

Sajt: www.pro-transport.com


Profil

icon Re: Šta kad baza ne radi?30.01.2007. u 14:33 - pre 208 meseci
Pa nista, sta ako krene po zlu. Ne znam zasto se toliko brines, Exception handling je sasvim jednostavan u .net.

Nije bas da Microsoft nije predvidio mogucnost da ne mozes da se prikljucis na db server.

Uhvatis SQLConnection.Open na catch/try i onda ili prikazes gresku korisniku, logujes u npr. errorlog.xml ili event log, zavisi od tipa aplikacije. Ukoliko je tako nesto, obicno je korisnik zaduzen za network konekciju na server i mozes slobodno da prikazes gresku i posle mogu da te zovu ako treba troubleshooting jelte, stara srpska rijec :).
99% slucajeva ce ti biti to da ne moze da pronadje SQL server tj. ona poruka iznad "SQL Server does not exist or access denied".

Ako je servis zaustavljen izbacice ti poruku iznad, kratko i jednostavno. Ne moze tvoja .net aplikacija da vidi sql server i u cemu je problem ako je servis zaustavljen. Mislim teoretski moze ali onda treba da uradis malu remoting aplikaciju i koja bi bila kao servis na db serveru i onda kroz nju da provjeravas status dbservera ali to je malo komplikovano da se objasni.

Exception ce ti dati tekst i objasnjenje o cemu je problem.

Ne shvatam zasto ce ti kodovi kada SQLException ima .message property, imas i stack trace i milion informacija koje su dovoljne da se vidi u cemu je greska.


http://www.pro-transport.com - The most advanced trucking software on the market
 
Odgovor na temu

BezPanike

Član broj: 128571
Poruke: 74



+2 Profil

icon Re: Šta kad baza ne radi?30.01.2007. u 16:22 - pre 208 meseci
Upravo je problem u milionu informacija koje SQLException vraća! One su vrlo korisne meni, ali prosečan korisnik koji ne zna engleski se zaledi kada vidi na ekranu tako nešto.

I šta će mi kodovi? Zato što mi se dešavalo da moram da jurim do korisnika koji nije baš mnogo blizu, jer program bljuje nerazumljive greške, a kad dođem sve što treba da uradim je da utaknem gajtan switch-a u struju!
Troubleshooting, aha! Ali na srpskom!
 
Odgovor na temu

DaliborP

Član broj: 113174
Poruke: 1173



+3258 Profil

icon Re: Šta kad baza ne radi?30.01.2007. u 16:30 - pre 208 meseci
Citat:
BezPanike: Upravo je problem u milionu informacija koje SQLException vraća! One su vrlo korisne meni, ali prosečan korisnik koji ne zna engleski se zaledi kada vidi na ekranu tako nešto.


Ne razumem sta ti ustvari ocekujes od korisnika? Da ne zna engleski ali da razume gresku na srpskom i sta onda da radi sa njom? Popravi je?

Zasto jednostavno ne napravis neki custom error window koji bi se pojavljivao u slucaju svake greske, a pritom greske logujes koristeci neki Error logger tipa log4net i tako sve greske pises u zaseban file. Takodjer gresku referenciras pod nekim brojem koji prikazes na tom custom window-u tako da korisnik moze samo da prosledi broj greske supportu ili kome vec.
 
Odgovor na temu

vladdy
Chicago, USA

Član broj: 30119
Poruke: 137
*.dsl.emhril.ameritech.net.

Sajt: www.pro-transport.com


Profil

icon Re: Šta kad baza ne radi?30.01.2007. u 16:43 - pre 208 meseci
Dalibor ti je objasnio ali evo i ja da ponovim.

Kakva je razlika korisniku ako mu pise "No process at the other end of the pipe" ili "nema procesa na drugom kraju cevi" :) ili
"sjhjss ajkshd ashdjkasuyuiehjrknm".
On prvo sto ce da uradi je da iskljuci kompjuter (da se nesto ne zapali) i zove tebe.

NApravi brate neki errorhanlder i mogu da ti salju i na email, webservis, da upisujes u fajl itd itd. Mogucnosti su bukvalno neogranicene.

Pa neces valjda da prevodis svaki od SQL Error kodova na srpski pa cak i da prevedes, zali Boze vremena, sta ce jadni korisnik sa tim. Sta on(a) zna kako da popravi.

Mozda jedino da uhvatis kada ne moze da pronadje server i to je to.

Ne znam o kakvim drugim greskama pricas i kako to da ti se javljaju svi ti egzoticni kodovi. Ako ti se to javlja u t-sql kodu tj. stored procedures izbacuju gresku onda treba malo da poradis na kodu a ne da ih posle hvatas jer je onda kasno.

Mislim da ne shvatas koja je poenta ovog svega sto ti objasnjavamo ali evo sam ti pokusao ponoviti.

I da, jos jedna preporuka. TESTIRAJ, TESTIRAJ i testiraj.

Kad kazem testiraj ne mislim na to da udjes na server, zaustavis SQL servis rucno i vidis sta ce se desiti, nego na dobar Test Unit (pogledaj nUnit) i ThrowException.
http://www.pro-transport.com - The most advanced trucking software on the market
 
Odgovor na temu

BezPanike

Član broj: 128571
Poruke: 74



+2 Profil

icon Re: Šta kad baza ne radi?30.01.2007. u 16:53 - pre 208 meseci
Ne planiram da prevodim svaki od SQL kodova na srpski - samo da iskoči prozorče (i to samo u slučaju kad baza ne radi) sa natpisom "Baza ne radi" i velikim crvenim umirujućim slovima BEZ PANIKE!
 
Odgovor na temu

DaliborP

Član broj: 113174
Poruke: 1173



+3258 Profil

icon Re: Šta kad baza ne radi?30.01.2007. u 17:19 - pre 208 meseci
Citat:
BezPanike: Ne planiram da prevodim svaki od SQL kodova na srpski - samo da iskoči prozorče (i to samo u slučaju kad baza ne radi) sa natpisom "Baza ne radi" i velikim crvenim umirujućim slovima BEZ PANIKE!


I to je to?
Ako imas problem da zavrsis toliko jednostavan feature ocigledno da ti handlovanje gresaka u aplikaciji ne radi kako treba.
Treba da malo sredis pozive na bazu i svedes na to da tacno znas kad je pukla konekcija na bazu ili je nema. Dakle pozabavi se sa Error handling.

Pozabavi se sa konekcijom, jednostavna provera i znaces kad je server ugasen.

U tome ne verujem da ti mi mozemo pomoci.

Srecno.
 
Odgovor na temu

vladdy
Chicago, USA

Član broj: 30119
Poruke: 137
*.dsl.emhril.ameritech.net.

Sajt: www.pro-transport.com


Profil

icon Re: Šta kad baza ne radi?30.01.2007. u 17:31 - pre 208 meseci
hehe e jesi panicar pa greske su sastavni dio posla.

Za ovo crvena umirujucu poruka :) a mozes i da pustis neki wav, mocart ili brams da ih malo umiri ili ako znas da su muski klienti pusti im neki zanimljiv video (pr0n + WMP interop prim. aut.) pa ces da vidis kako su srecni sto ne radi :) nema ni da panice :))


Salu na stranu, malo si zakomplikovao ali nadam se da ce ti ovo pomoci:


Code:

Try
SQLConnection.Open
Catch ex As SqlException
If ex.ErrorCode = -2146232060 Then
'Ovo bi trebao biti kod kada ne moze da pronadje sql server.
DisplayCannotFindDatabaseServerMessage()
LogError(ex)
Exit Sub
End If
'neki drugi kod - prikazi gresku ?
End Try

http://www.pro-transport.com - The most advanced trucking software on the market
 
Odgovor na temu

BezPanike

Član broj: 128571
Poruke: 74



+2 Profil

icon Re: Šta kad baza ne radi?30.01.2007. u 19:57 - pre 208 meseci
Citat:
DaliborP: I to je to?
Ako imas problem da zavrsis toliko jednostavan feature ocigledno da ti handlovanje gresaka u aplikaciji ne radi kako treba.
Treba da malo sredis pozive na bazu i svedes na to da tacno znas kad je pukla konekcija na bazu ili je nema. Dakle pozabavi se sa Error handling.

Pa to i pokušavam!

A 'el zna neko kako da smirim ženske korisnike? ;)
 
Odgovor na temu

sstanko78
Novi Sad

Član broj: 19139
Poruke: 411
*.tippnet.co.yu.



Profil

icon Re: Šta kad baza ne radi?31.01.2007. u 08:26 - pre 208 meseci
Citat:

A 'el zna neko kako da smirim ženske korisnike? ;)


Pa posle bez panike napisi: Dok ne radi baza iskoristite vreme da popravite sminku pre nego sto administrator/serviser ne dođu

A posle, pa zavisi koliko su nervozne ......
 
Odgovor na temu

BezPanike

Član broj: 128571
Poruke: 74



+2 Profil

icon Re: Šta kad baza ne radi?31.01.2007. u 09:27 - pre 208 meseci
OK, to smo rešili. Brams (i/ili prono movie) i link ka nekom ženskom sajtu (i/ili zgodni admin) smiruju paniku.

Ali to ne rešava MOJU paniku! Bramsa na stranu, zna li neko koja je greška i kako je naloviti?
 
Odgovor na temu

[es] :: .NET :: Šta kad baza ne radi?

[ Pregleda: 3918 | Odgovora: 14 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.