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

Kako uhvatiti SqlException u Vb.NET-u?

[es] :: .NET :: .NET Desktop razvoj :: Kako uhvatiti SqlException u Vb.NET-u?

[ Pregleda: 2418 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Omega Warrior
Zoran Bogdanov
Croatia

Član broj: 68126
Poruke: 43
*.net.t-com.hr.



Profil

icon Kako uhvatiti SqlException u Vb.NET-u?29.08.2007. u 19:32 - pre 202 meseci
Pozdrav,

ovo je moj kod:

Try
Dim DbTest As SqlClient.SqlConnection
DbTest = New System.Data.SqlClient.SqlConnection("Data Source=(local)\SQL;Initial Catalog=testiranje123;Trusted_Connection=yes;Integrated Security=True;Asynchronous Processing=true")
DbTest.Open()


DbTest.Close()
Catch ex As SqlException
MsgBox("idemo dalje")

Catch ex As DataException
MsgBox("idemo dalje")

Catch ex As Exception
MsgBox("idemo dalje")

End Try

ovo je u load eventu forme, pokusavam napraviti mehanizam za mijenjanje ADO.NET connection stringa.

Gore navedeni connection string je sigurno kriv, to sam namjerno napravio kako bih on ulovio SqlException i dalje bih riješavao putem .ini filea; vukao bih connection string iz ini filea. No to nije bitno. Znači pojavi mi se exception, to je ok. Exception je:
SqlException:
Cannot open database "testiranje123" requested by the login. The login failed.
Login failed for user 'test\test'.

Ja nikako da ulovim exception i da ga riješim.

Molio bih ako netko zna išta o ovome neka slobodno kaže.

Unaprijed zahvaljujem!
 
Odgovor na temu

roberto555
Croatia

Član broj: 64744
Poruke: 451
*.adsl.net.t-com.hr.



Profil

icon Re: Kako uhvatiti SqlException u Vb.NET-u?30.08.2007. u 07:06 - pre 202 meseci
nisam te baš skužio previše ali:

--------------------------
InvalidOperationException
Cannot open a connection without specifying a data source or server.
or
The connection is already open.

SqlException
A connection-level error occurred while opening the connection. If the Number property contains the value 18487 or 18488, this indicates that the specified password has expired or must be reset. See the ChangePassword method for more information.
--------------------------ovo su exception-i za metodu open konekcije, dataexception ti netreba
a u tvojem kodu bi se trebao prikazati message box sa porukom idemo dalje (daj tu dodaj još + ex.message, da vidiš orginalni tekst), a zašto želiš konekcijski string mjenjati u catch dijelu? nemožeš odmah!?

----Roberto----
 
Odgovor na temu

Prokleta_Nedelja
Beograd

Član broj: 90608
Poruke: 450
91.191.23.*



+42 Profil

icon Re: Kako uhvatiti SqlException u Vb.NET-u?30.08.2007. u 14:59 - pre 202 meseci
mozda hoce da napravi brute force attack na bazu
 
Odgovor na temu

Omega Warrior
Zoran Bogdanov
Croatia

Član broj: 68126
Poruke: 43
*.t-com.hr
Via: [es] mailing liste



Profil

icon Re: Kako uhvatiti SqlException u Vb.NET-u?30.08.2007. u 15:21 - pre 202 meseci
>
>
Stvar je ovakva. Moram napraviti sigurnosni mehanizam za mijenjanje
postavke baze. tj.

onda radim ovakvo nešto:

try
dim db as new sqlconnection(connection string)
db.open
db.close
catch e as sqlexception
end try ...

Ako se uspije spojit, nikome ništa, a ako ne inputbox se pojavljuje i
traži valjani connection string
Koji se nakon toga trajno pohranjuje u .ini file.

Jedini problem je što ja taj exception nemogu uhvatit tj. stalno mi se
pojavljuje poruka sa exceptionom. Kao da ni nema catch linije... Probao
sam sa još puno exception handling tehnika:
catch e as exception
catch e as system.data
...

exception koji mi se pojavljuje je SqlException.

Sad da li je to neki BUG ili šta, ja ne znam ali nikako ga nemogu
uhvatiti, bilokakva pomoć je i više nego dobrodošla.

Hvala unaprijed!
 
Odgovor na temu

roberto555
Croatia

Član broj: 64744
Poruke: 451
*.adsl.net.t-com.hr.



Profil

icon Re: Kako uhvatiti SqlException u Vb.NET-u?30.08.2007. u 15:39 - pre 202 meseci
makni sve ove catch koje sad imas, i stavi samo Exception - taj ti lovi sve greške, i u message box u taj catch stavi da ti prikaže message od iznimke

C#

Code:

.
.
.
catch(Exception ex)
{
messagebox.show(ex.message);
}


i onda tu napiši to što ti bude pisalo u tom message box-u kad se pojavi, taj tekst točno prekopiraj tu!


----Roberto----
 
Odgovor na temu

Fedya
Fedor Hajdu
Solution Architect
Emaratech
Dubai, UAE

Član broj: 28246
Poruke: 790
*.intens.co.yu.

Jabber: fedya@elitesecurity.org
Sajt: devtechgroup.com


+34 Profil

icon Re: Kako uhvatiti SqlException u Vb.NET-u?31.08.2007. u 16:34 - pre 202 meseci
@Roberto, to je najgore sto moze da uradi. Nikad ne treba hvatati genericke izuzetke.

Sto se samog poroblema tice, verujem da ti je ukljucen neki debug, i da ti zato puca. Kompajliraj u release, i vidi da li ce ga onda uhvatiti. Naravno pod uslovom da si siguran da je SqlException u pitanju.
Prodji jos jednom aplikaciju step by step i vidi gde pukne, i u koji blok skoci.

I jos jednom za kraj: Ne hvataj bazni Exception
Every hamster has his day.
 
Odgovor na temu

roberto555
Croatia

Član broj: 64744
Poruke: 451
*.adsl.net.t-com.hr.



Profil

icon Re: Kako uhvatiti SqlException u Vb.NET-u?31.08.2007. u 19:24 - pre 202 meseci
nisam mu ja rekao da on tako stavi i neka to koristi neka neg stavi tak i poruku prekopira ovdje jer možda nije sql exc. kad mu ga ne uhvati, to je bila misao toga da stavi exception, sorry ako si ti krivo svatio!

Citat:

i onda tu napiši to što ti bude pisalo u tom message box-u kad se pojavi, taj tekst točno prekopiraj tu!

----Roberto----
 
Odgovor na temu

[es] :: .NET :: .NET Desktop razvoj :: Kako uhvatiti SqlException u Vb.NET-u?

[ Pregleda: 2418 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

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