powershell: how to run an array in a query?

0

How can I change the word buin in my query to those in the array?

$DB_NAME_M = "<A>(<B>)";

$TIMESTAMPP = Get-Date;
$TIMESTAMPP = $TIMESTAMPP.ToString("yyyyMMdd");

#Arrays
$DB_ARRAYY = @( "elquisco", "imelbosque", "macul", "lareina", "mpinto", "penalolen", "coquimbo");

    #Replace timestamp
    $DB_NAME_MIR = $DB_NAME_MIR.Replace('<B>',$TIMESTAMPP);

    #Debugging....
    #Write-Host $DB_NAME_MIRROR;
    #Write-Host $STORAGE_URI_BACKUP;



    foreach ($DBB in $DB_ARRAYY) 
    {
        $DB_NAME_MIRR = $DB_NAME_MIR.Replace('<A>',$DBB);


       #Debugging
        #Write-Host $DB_NAME_MIRR   
        #Write-Host $URL_FILE_BACKUP 




    $SQL_SERVER_FULLNAME_QA = getSQLServerFullNameAzureQA;
    $TIMEOUT = 300;

    $QUERY 
    /* Nombre usado en la URL */
    SELECT @NOMBRE_DOM                       = 'buin',
                  @NOMBRE_MUNICIPALIDAD      = 'Sitio Mirror - Buin (20180109)',      
                  @URL_DOM                   = 'mrgbuin.demo.cl',
                  @DB_DOM                    = 'mirroring_dbdom_buin(2018-01-09-07:00)'   

I need this part of the code in the parts that says buin to change according to the information of the array when it is executed

 /* Nombre usado en la URL */
    SELECT @NOMBRE_DOM                       = 'buin',
                  @NOMBRE_MUNICIPALIDAD      = 'Sitio Mirror - Buin (20180109)',      
                  @URL_DOM                   = 'mrgbuin.demo.cl',
                  @DB_DOM                    = 'mirroring_dbdom_buin(2018-01-09-07:00)'
    
asked by Hector 15.01.2018 в 21:55
source

1 answer

0

Hector,

The code has not been very clear, and information is missing. For example:

$DB_NAME_MIR = $DB_NAME_MIR.Replace('<B>',$TIMESTAMPP);

You can not replace a value of something you did not declare previously. Outside of it, if I did not understand badly what you need is the following:

$array = @( "elquisco", "imelbosque", "macul", "lareina", "mpinto", "penalolen", "coquimbo");
foreach ($item in $array) {
    Write-host "SELECT @NOMBRE_DOM='$item', @NOMBRE_MUNICIPALIDAD='Sitio Mirror - $item (20180109)', @URL_DOM='mrgbuin.demo.cl', @DB_DOM='mirroring_dbdom_$item(2018-01-09-07:00)'"
}

So you get as a result:

SELECT @NOMBRE_DOM='elquisco', @NOMBRE_MUNICIPALIDAD='Sitio Mirror - elquisco (20180109)', @URL_DOM='mrgbuin.demo.cl', @DB_DOM='mirroring_dbdom_elquisco(2018-01-09-07:00)'
SELECT @NOMBRE_DOM='imelbosque', @NOMBRE_MUNICIPALIDAD='Sitio Mirror - imelbosque (20180109)', @URL_DOM='mrgbuin.demo.cl', @DB_DOM='mirroring_dbdom_imelbosque(2018-01-09-07:00)'
SELECT @NOMBRE_DOM='macul', @NOMBRE_MUNICIPALIDAD='Sitio Mirror - macul (20180109)', @URL_DOM='mrgbuin.demo.cl', @DB_DOM='mirroring_dbdom_macul(2018-01-09-07:00)'
SELECT @NOMBRE_DOM='lareina', @NOMBRE_MUNICIPALIDAD='Sitio Mirror - lareina (20180109)', @URL_DOM='mrgbuin.demo.cl', @DB_DOM='mirroring_dbdom_lareina(2018-01-09-07:00)'
SELECT @NOMBRE_DOM='mpinto', @NOMBRE_MUNICIPALIDAD='Sitio Mirror - mpinto (20180109)', @URL_DOM='mrgbuin.demo.cl', @DB_DOM='mirroring_dbdom_mpinto(2018-01-09-07:00)'
SELECT @NOMBRE_DOM='penalolen', @NOMBRE_MUNICIPALIDAD='Sitio Mirror - penalolen (20180109)', @URL_DOM='mrgbuin.demo.cl', @DB_DOM='mirroring_dbdom_penalolen(2018-01-09-07:00)'
SELECT @NOMBRE_DOM='coquimbo', @NOMBRE_MUNICIPALIDAD='Sitio Mirror - coquimbo (20180109)', @URL_DOM='mrgbuin.demo.cl', @DB_DOM='mirroring_dbdom_coquimbo(2018-01-09-07:00)'

Where you have modified what you indicate. The only point where it has not been modified is in the URL ( @ URL_DOM = 'mrgbuin.demo.cl' ) since it is not clear enough whether this value should be modified or not.

I hope I have helped!

    
answered by 20.01.2018 в 19:16