[ ijurisic @ 27.08.2007. 18:07 ] @
Kako preko C# pročitati katalog baza na SQL serveru? p.s. - za kratki programcic bio bih zahvalan! |
[ ijurisic @ 27.08.2007. 18:07 ] @
[ bjevta @ 28.08.2007. 08:38 ] @
ako je u pitanju verzija 2005 ili je dozvoljeno instaliranje MS softvera (object model koji ide uz 2005, mada skoro sve radi i sa 2000), onda se može koristiti SMO. Javi ako ti treba takav primer.
[ ijurisic @ 30.08.2007. 12:00 ] @
Pa naravno da mi treba primjer koda .... piši, željno iščekivam tvoj kod ....
[ bjevta @ 30.08.2007. 16:18 ] @
pa, kako si brzo tražio, ne bi se reklo... :)
za ovaj experimet trebaće na SMO. Prvo da se zakačimo za neki server. Ako nije trusteed connection, onda idemo ovako: Code: public void ConnectToServer(string aServerName, string anUsername, string aPassword) { Microsoft.SqlServer.Management.Common.ServerConnection smoServerConnection = new Microsoft.SqlServer.Management.Common.ServerConnection(aServerName, anUsername, aPassword); Microsoft.SqlServer.Management.Smo.Server aSmoServer = new Microsoft.SqlServer.Management.Smo.Server( smoServerConnection ); aSmoServer.ConnectionContext.Connect(); a ako je trusteed konekcija, što je češći slučaj, onda je dovoljno ovo: Code: public void ConnectToServer(string aServerName) { Microsoft.SqlServer.Management.Smo.Server aSmoServer = new Microsoft.SqlServer.Management.Smo.Server(aServerName); Zatim čitamo spisak baza: Code: foreach(Microsoft.SqlServer.Management.Smo.Database aSmoDb in smoServer.Databases) {...} pri čemu obraćamo pažnju na IsSystemObject property Database objekta, ako to ima značaja. Da bismo startovali ovaj kod, trebaće nam reference u projektu: C:\Program Files\Microsoft SQL Server\90\SDK\Assemblies\Microsoft.SqlServer.ConnectionInfo.dll C:\Program Files\Microsoft SQL Server\90\SDK\Assemblies\Microsoft.SqlServer.Smo.dll C:\Program Files\Microsoft SQL Server\90\SDK\Assemblies\Microsoft.SqlServer.SmoEnum.dll C:\Program Files\Microsoft SQL Server\90\SDK\Assemblies\Microsoft.SqlServer.SqlEnum.dll [Ovu poruku je menjao bjevta dana 30.08.2007. u 17:28 GMT+1] [ ijurisic @ 30.08.2007. 16:34 ] @
Probao sam ali ne ide, evo greška:
Error2The type or namespace name 'Management' does not exist in the namespace 'Microsoft.SqlServer' (are you missing an assembly reference?) C:\C#\KPI\WindowsApplication1\Odabir_pod.cs2033WindowsApplication1 [ Neznalica_sa_ugla @ 30.08.2007. 18:49 ] @
Ja imam isti problem , nikako ukljuciti referencu !!! Da li treba nesto dodatno biti instalirano ???
Uglavnom ovo je ok , ali kako uhvatiti ime baze ??? [Ovu poruku je menjao Neznalica_sa_ugla dana 30.08.2007. u 21:08 GMT+1] [ ijurisic @ 30.08.2007. 20:18 ] @
Radi radi, hvala puno !!!
[ Neznalica_sa_ugla @ 05.09.2007. 20:02 ] @
Moram ovdije dodatno pitati ..
Ako se program izvrsava na nekom drugom racunalu gdije je SQL drugacije instaliran ( u nekom drugom folderu ili disku ) , da li c e ovako postavljene reference sa fiksnom putanjom stvarati probleme ??? [ bjevta @ 05.09.2007. 20:20 ] @
Korisni SMO linkovi:
SMO installer: http://www.microsoft.com/downl...E8B9D835CDC&displaylang=en SMO samples (ima gomila na netu, samo proguglaj i samo će ti se kasti): http://www.sqlteam.com/article...base-objects-using-smo-updated http://www.sqldbatips.com/showarticle.asp?ID=34 Odličan installer: http://www.jrsoftware.org/ Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|