Anuncios

IT Certification Category (Spanish)468x60

sábado, 16 de julio de 2011

Opeando con powershell (foreach, archivos de texto y por supuesto SQL Server)


En esta ocasión trabajaré con SQL Server,  powershell.
En esta ocasión voy a utilizar SQL Server 2008 para crear bases de datos de una lista txt.
Primeramente, voy a crear una lista de bases de datos en un archivo txt:

lista.txt


-----------------------------------------
productos
Ventas
Contabilidad
Stock
-----------------------------------------


Simplemente tengo un archivo de texto llamado lista.txt que contiene 4 palabras en 4 filas.
Ahora, lo que yo deseo es crear 4 bases de datos que se llamen productos, ventas, etc. Es decir, que usando powershell se creen estas 4 bases de datos de la lista.

Para ello, voy a  guardar los datos en una variable llamada $lista.
La sentencia en powershell sería la siguiente:

$lista=get-content c:\lista.txt

Para ver que todo funcione, podemos ver los $valores de lista con echo:
echo $lista



productos
Ventas
Contabilidad
Stock

Ahora se deben crear las bases de datos en sql server. Para ello voy a utilizar el comando invoke-sql junto con el foreach. La traducción de mi sentencia es: 
Para cada miembro de la variable crear una base de datos.

$lista | ForEach-Object {Invoke-SqlCmd -Query "create database $_"}

Si todo salió bien, deberíamos tener las bases de datos creadas en SQL Server:


Finalmente, para borrar todas las bases de datos:
$lista | ForEach-Object {Invoke-SqlCmd -Query "drop database $_"}

Invoke-SqlCmd -query permite lanzar cualquier tipo de sentencia desde powershell a SQL Server.

Tienes dudas ?. Quieres saber más ?. Escribe a este blog.







People who read this post also read :