Professional Documents
Culture Documents
Laboratorio
Universidad Cesar Vallejo Escuela de Postgrado
Docente. MBA. Ing. Aldo Vela, PMP
INDICE
I.
Creando un proyecto.............................................................................................................. 3
II.
III.
IV.
V.
VI.
I.
Creando un proyecto
1. Ir a inicio y ubicar el programa Microsoft SQL Server 2008 r2, luego seleccionar SQL Server
Business Intelligence Development. (ver imagen adjunta)
2. Luego proceder a crear un proyecto ISP con el Visual Studio, de la siguiente manera
3. Una vez creado el proyecto, el entorno de trabajo ser como se muestra a continuacin.
II.
III.
4. Jalar el control Script Task y renombrarlo por Cargar Cadena SDA, elegir como lenguage
Visual Basic 2008.
NOTA: elegirlo antes de editar el script, debido a que luego no se podr cambiar el
lenguaje.
5. Editar el control Cargar Cadena SDA de la siguiente manera
6. Hacer doble click el control Cargar Cadena SDA y luego a edit script, para colocar el
siguiente codigo en el funcion main
Public Sub Main()
Dim strServerName As String
' Add your code here
'
Dim strServerName As String
strServerName = Dts.Variables("gServerSda").Value.ToString
Dts.Connections("SDA").ConnectionString =
"Provider=SQLNCLI10;Server=" & strServerName & ";Database=SDA;Integrated
Security=SSPI;Auto Translate=False;"
Dts.TaskResult = ScriptResults.Success
End Sub
7. Jalar el control Execute SQL Task y renombrarlo por Leer Variables elegir como lenguage
Visual Basic 2008.
8. Editar el control Leer Variables de la siguiente manera
a. En SQLStament colocar EXEC dbo.up_ObtieneParametros_Sel 'AW', ?
b. Parameter Mapping
10
c. En Resul Set
9. Jalar el control Script Task y renombrarlo por Cargar Variables, elegir como lenguage
Visual Basic 2008.
10. Editar el control Cargar Variables de la siguiente manera
11
ii.
System
System.Data
System.Math
Microsoft.SqlServer.Dts.Runtime
System.Data.OleDb
En el main
12
strUsuario =
Trim(CStr(IIf(IsDBNull(rstData.Rows(i)(2)), Nothing,
rstData.Rows(i)(2))))
Dts.Variables("Usuario").Value = strUsuario
Case "PASS"
strPass = Trim(CStr(IIf(IsDBNull(rstData.Rows(i)(2)),
Nothing, rstData.Rows(i)(2))))
Dts.Variables("Pass").Value = strPass
End Select
Next
Dts.TaskResult = ScriptResults.Success
End Sub
12. Jalar el control Script Task y renombrarlo por Setear Ruta de Archivos a carga, elegir como
lenguage Visual Basic 2008.
13. Editar el control Setear Ruta de Archivos a carga de la siguiente manera
13
System
System.Data
System.Math
Microsoft.SqlServer.Dts.Runtime
System.Data.SqlClient
System.Collections
System.IO
En el Main
15. Por ultimo jalar el control Data Flow Task y llamarlo Genera Archivo de texto, luego hacer
doble click sobre el control.
16. En el Data Flow, jalar dos controles.
a. Ole DB Source y relacionarlo con la conexin AdventureWork
i. Seleccionar el como acces mode SQL Command
ii. Colocar en SQL Command Text , lo siguiente
select
ProductID ,
Name ,
Inteligencia de Negocios | Integration Services
14
ProductNumber ,
MakeFlag,
FinishedGoodsFlag ,
Color
,
SafetyStockLevel ,
ReorderPoint ,
StandardCost ,
ListPrice ,
Size ,
SizeUnitMeasureCode ,
WeightUnitMeasureCode,
Weight,
DaysToManufacture,
ProductLine,
Class ,
Style ,
ProductSubcategoryID ,
ProductModelID ,
SellStartDate ,
SellEndDate ,
DiscontinuedDate
rowguid ,
ModifiedDate
from Production.Product
15
16
18. Para hacer dinmica la ruta del archivo deber hacer lo siguiente:
a. Ir a la conexin del archivo(FileProducto) y darle click derecho y luego ir a
propiedades:
17
18
f.
19. Con la finalidad de que el paquete tenga un nombre mas acorde con su funcin se lo edita,
dndole F2 en Package.dtsx y cambiando el nombre a AW_EnvioData.dtsx
19
IV.
1. Abrir una consola MS-DOS y colocar las siguiente instruccin para ejecutar el Dtsx creado:
dtexec /F "\\avelabxp\temp\DTSx\AW_EnvioData.dtsx" /SET \package.variables[User::gAmbiente].Value;1
/SET \package.variables[User::gServerSda].Value;"avelabxp\sql2008"
Nota: Validar que la ruta a colocar sea la misma donde Ud. grabo su proyecto.
2. Proceder a crear un archivo con extensin Bat, donde colocara la misma instruccin del
paso anterior.
1.
2.
3.
4.
20
V.
Cargando un archivo a la BD
1. Crear un nuevo DTSx de la siguiente manera:
2. Validar que se haya creado el usuario y la base de datos Migracion en caso contrario
ejecutar lo siguiente:
--Creacion del usuario para la base de datos de migracion
CREATE LOGIN migracion
WITH PASSWORD = 'migracion123';
GO
USE Migracion;
exec sp_changedbowner 'migracion'
GO
insert into
ACCESO(CODIGOAPLICATIVO,NOMBREAPLICATIVO,AMBIENTE,VARIABLE,VALOR)
values ('MI','Migracion','1','SrvInput','avelabxp\sql2008')
insert into
ACCESO(CODIGOAPLICATIVO,NOMBREAPLICATIVO,AMBIENTE,VARIABLE,VALOR)
values
('MI','Migracion',1,'PathRecive','\\avelabxp\temp\sql2008\');
insert into
ACCESO(CODIGOAPLICATIVO,NOMBREAPLICATIVO,AMBIENTE,VARIABLE,VALOR)
values ('MI','Migracion',1,'Instancia','Migracion');
insert into
ACCESO(CODIGOAPLICATIVO,NOMBREAPLICATIVO,AMBIENTE,VARIABLE,VALOR)
values ('MI','Migracion',1,'Usuario','migracion');
insert into
ACCESO(CODIGOAPLICATIVO,NOMBREAPLICATIVO,AMBIENTE,VARIABLE,VALOR)
values ('MI','Migracion',1,'Pass','migracion123');
21
go
22
Nota:
En todos los STEP en lo que en el primer ejemplo del DTSx se llame a PathSend
cambiarlo por PathRecive
23
24
strCadenaSQL As String
strSrvData As String
strPass As String
strUser As String
25
1.
2.
26
VI.
27
insert into
ACCESO(CODIGOAPLICATIVO,NOMBREAPLICATIVO,AMBIENTE,VARIABLE,VALOR)
values ('AW','AdventureWorks',1,'Instancia','AdventureWorks2008R2');
insert into
ACCESO(CODIGOAPLICATIVO,NOMBREAPLICATIVO,AMBIENTE,VARIABLE,VALOR)
values ('AW','AdventureWorks',1,'Usuario','adventure');
insert into
ACCESO(CODIGOAPLICATIVO,NOMBREAPLICATIVO,AMBIENTE,VARIABLE,VALOR)
values ('AW','AdventureWorks',1,'Pass','adventure123');
go
--Carga de Datos
insert into
ACCESO(CODIGOAPLICATIVO,NOMBREAPLICATIVO,AMBIENTE,VARIABLE,VALOR)
values ('sda','Sistema de Seguridad',1,'SrvInput','avelaw7\sql2008r2');
insert into
ACCESO(CODIGOAPLICATIVO,NOMBREAPLICATIVO,AMBIENTE,VARIABLE,VALOR)
values ('sda','Sistema de
Seguridad',1,'PathRecive','\\avelaw7\Compartir\PathRecive\');
insert into
ACCESO(CODIGOAPLICATIVO,NOMBREAPLICATIVO,AMBIENTE,VARIABLE,VALOR)
values ('sda','Sistema de Seguridad',1,'Instancia','SDA');
insert into
ACCESO(CODIGOAPLICATIVO,NOMBREAPLICATIVO,AMBIENTE,VARIABLE,VALOR)
values ('sda','Sistema de Seguridad',1,'Usuario','sda');
insert into
ACCESO(CODIGOAPLICATIVO,NOMBREAPLICATIVO,AMBIENTE,VARIABLE,VALOR)
values ('sda','Sistema de Seguridad',1,'Pass','sda123');
go
--Crear SP
CREATE procedure dbo.up_ObtieneParametros_Sel
( @p_CODIGOAPLICATIVO VARCHAR(30),
@p_AMBIENTE VARCHAR(1)
)
as
SELECT A.VARIABLE,A.VALOR,A.VALOR FROM ACCESO A
WHERE A.CODIGOAPLICATIVO=@p_CODIGOAPLICATIVO
AND A.AMBIENTE =@p_AMBIENTE
go
--Creacion del usuario para la base de Adventure Works
CREATE LOGIN adventure
WITH PASSWORD = 'adventure123';
USE AdventureWorks2008R2;
exec sp_changedbowner 'adventure';
GO
--Creacion de la BD donde se grabaran los archivos planos
USE master ;
GO
CREATE DATABASE Migracion
ON
( NAME = Migracion_dat,
FILENAME = 'D:\SQL2008r2\BaseDatos\Migracion\Migracion_dat.mdf',
SIZE = 10,
MAXSIZE = 50,
FILEGROWTH = 5 )
LOG ON
28
( NAME = Migracion_log,
FILENAME = 'D:\SQL2008r2\BaseDatos\Migracion\Migracion_log.ldf',
SIZE = 5MB,
MAXSIZE = 25MB,
FILEGROWTH = 5MB ) ;
GO
--Creacion del usuario para la base de datos de seguridad
CREATE LOGIN migracion
WITH PASSWORD = 'migracion123';
USE Migracion;
exec sp_changedbowner 'migracion'
GO
29