Erkennung des verfügbaren db im SQL server über vb.net

Ich habe eine Abfrage Ich schaffe eine Window App in vb.net (4.0), in der ich mehrere databaseen verwenden muss, obwohl alle databaseen mit der gleichen db-Struktur und gespeicherten Prozeduren gleich sind, nur Namen sind anders. In der sehr Beginn der Anwendung, muss ich eine Option für den Benutzer geben, dass diese verfügbar sind db & Benutzer wählen, welche zu verbinden und verwenden.

So ist es möglich zu erkennen, wie viele db im SQL server über vb.net verfügbar sind und wie kann man das erreichen (um dem Benutzer Optionen zur Verfügung zu stellen) ? Was wäre der beste Ansatz?

Vielen Dank

Es hängt also von permissions ab.

Grundsätzlich können Sie sich immer dem server stellen und den server fragen. Alle Metadaa ist in der Systemverwaltungsdatenbank verfügbar und Sie können dort sql einreichen, um nach waht databaseen zu fragen.

Holen Sie sich eine list von databaseen aus SQL server

Der sql-server weiß, wie viele databaseen installiert sind, man kann sie einfach abfragen. Ihr Login muss die Berechtigung haben, die Abfrage zu machen, also werden Sie wahrscheinlich möchten, dass verschiedene Verbindungszeichenfolgen für diese Abfrage vs andere verwenden.

Auch angesichts der richtigen permissions können Sie nicht nur entdecken, wenn die database vorhanden ist, sondern ob sie strikt akzeptabel ist

sicher, du musst nur eine Prozedur auf dem server anrufen, die die DB für dich auflisten kann. Versuchen:

EXEC sp_databases EXEC sp_helpdb 

es gibt auch ein Un-dokumentiertes Verfahren

 EXEC sp_msForEachDB 'PRINT ''?'''