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]
Acta, non verba!