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]
Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it. -Brian Kernighan