sql >> データベース >  >> RDS >> Sqlserver

データベースのリストの取得は、選択したサーバーによって異なります

    これは、ネットワーク上のサーバー名のリストを取得する方法です。

    List<String> ServerNames = new List<String>();
    
     SqlDataSourceEnumerator servers = SqlDataSourceEnumerator.Instance;
     DataTable serversTable = servers.GetDataSources();
    
         foreach (DataRow row in serversTable.Rows) {
                string serverName = row[0].ToString();
    
                 try {
    
                    if (row[1].ToString() != "") {
    
                                serverName += "\\" + row[1].ToString();
    
                    }
    
    
                  }
                  catch {
    
    
                  }
    
                  ServerNames.Add(serverName);
          }
    

    選択したサーバーからデータベースのリストを取得するには:

    List<String> databases = new List<String>();
    
    SqlConnectionStringBuilder connection = new SqlConnectionStringBuilder();
    
     connection.DataSource = SelectedServer;
     // enter credentials if you want
     //connection.UserID = //get username;
    // connection.Password = //get password;
     connection.IntegratedSecurity = true;
    
     String strConn = connection.ToString();
    
     //create connection
      SqlConnection sqlConn = new SqlConnection(strConn);
    
    //open connection
    sqlConn.Open();
    
     //get databases
    DataTable tblDatabases = sqlConn.GetSchema("Databases");
    
    //close connection
    sqlConn.Close();
    
    //add to list
    foreach (DataRow row in tblDatabases.Rows) {
          String strDatabaseName = row["database_name"].ToString();
    
           databases.Add(strDatabaseName);
    
    
    }     
    


    1. SQLServerコレクションインベントリスクリプト-1

    2. オンライン求人ポータル用のデータベースの設計

    3. PHP:MySQLの関数SUBSTRING_INDEXに相当しますか?

    4. 列を削除しても列参照が完全に削除されるわけではありません-postgresql