<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-18745820</id><updated>2011-12-14T18:41:05.878-08:00</updated><title type='text'>Manuales de Informática</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://manualespracticos.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18745820/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://manualespracticos.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>ganapi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>3</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-18745820.post-113158627036333961</id><published>2005-11-09T17:29:00.000-08:00</published><updated>2010-04-05T13:51:41.154-07:00</updated><title type='text'>Ejecutando un DTS desde un Programa</title><content type='html'>Algunas veces uno requiere ejecutar DTS mediante un programa, necesariamente debes instalar componentes aparte que lo único que logran es tener que incluirlos al momento de llevarlos a producción u otro equipo de un usuario.&lt;br /&gt;&lt;br /&gt;Hay una solución muy simple, dejar que SQL Server mediante un sp ejecute dicho DTS y no directamente desde una aplicación externa.&lt;br /&gt;&lt;br /&gt;Espero les sirva dicho ejemplo:&lt;br /&gt;&lt;br /&gt;CREATE PROCEDURE sp_EjecutarDTS(@Paquete varchar(500) ) As    declare @Sql varchar(8000)    Set @Sql = 'dtsrun /s (local) /e /n ' + @Paquete    exec master.dbo.xp_cmdshell @SqlGo&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a name="_dtsrun70_utility"&gt;&lt;/a&gt;dtsrun Utility&lt;br /&gt;New Information - SQL Server 2000 SP3.&lt;br /&gt;The dtsrun utility executes a package created using Data Transformation Services (DTS). The DTS package can be stored in the Microsoft® SQL Server™ msdb database, a COM-structured storage file, or SQL Server Meta Data Services.&lt;br /&gt;Syntax&lt;br /&gt;dtsrun [/?] [    [        /[~]S server_name[\instance_name]        { {/[~]U user_name [/[~]P password]}  /E }    ]    {            {/[~]N package_name }         {/[~]G package_guid_string}         {/[~]V package_version_guid_string}    }    [/[~]M package_password]    [/[~]F filename]    [/[~]R repository_database_name]    [/A global_variable_name:typeid=value]     [/L log_file_name]    [/W NT_event_log_completion_status]    [/Z] [/!X] [/!D] [/!Y] [/!C]]&lt;br /&gt;&lt;a title="Expand or collapse text" href="http://msdn.microsoft.com/library/en-us/coprompt/cp_dtsrun_95kp.asp?frame=true#" target="_self"&gt;Arguments&lt;/a&gt;&lt;br /&gt;/?&lt;br /&gt;Displays the command prompt options.&lt;br /&gt;~&lt;br /&gt;Specifies that the parameter to follow is hexadecimal text representing the encrypted value of the parameter. Can be used with the /S, /U, /P, /N, /G, /V, /M, /F, and /R options. Using encrypted values increases the security of the command used to execute the DTS package because the server name, password, and so on, are not visible. Use /!Y to determine the encrypted command.&lt;br /&gt;/S server_name[\instance_name]&lt;br /&gt;Specifies the instance of SQL Server to connect to. Specify server_name to connect to the default instance of SQL Server on that server. Specify server_name\instance_name to connect to a named instance of SQL Server 2000 on that server.&lt;br /&gt;/U user_name&lt;br /&gt;Is a login ID used to connect to an instance of SQL Server.&lt;br /&gt;/P password&lt;br /&gt;Is a user-specified password used with a login ID.&lt;br /&gt;/E&lt;br /&gt;Specifies a trusted connection (password not required).&lt;br /&gt;/N package_name&lt;br /&gt;Is the name of a DTS package assigned when the package was created.&lt;br /&gt;/G package_guid_string&lt;br /&gt;Is the package ID assigned to the DTS package when it was created. The package ID is a GUID.&lt;br /&gt;/V package_version_guid_string&lt;br /&gt;Is the version ID assigned to the DTS package when it was first saved or executed. A new version ID is assigned to the DTS package each time it is modified. The version ID is a GUID.&lt;br /&gt;/M package_password&lt;br /&gt;Is an optional password assigned to the DTS package when it was created.&lt;br /&gt;/F filename&lt;br /&gt;Is the name of a structured storage file containing DTS packages. If server_name is also specified, the DTS package retrieved from SQL Server is executed and that package is added to the structured storage engine.&lt;br /&gt;/R repository_database_name&lt;br /&gt;Is the name of the repository database containing DTS packages. If no name is specified, the default database name is used.&lt;br /&gt;/A global_variable_name:typeid=value&lt;br /&gt;Specifies a package global variable, where typeid = type identifier for the data type of the global variable. The entire argument string can be quoted. This argument can be repeated to specify multiple global variables. See the Remarks section for the different available type identifiers available with global variables.&lt;br /&gt;To set global variables with this command switch, you must have either Owner permission for the package or the package must have been saved without DTS password protection enabled. If you do not have Owner permission, you can specify global variables, but the values used will be those set in the package, not those specified with the /A command switch.&lt;br /&gt;/L log_file_name:&lt;br /&gt;Specifies the name of the package log file.&lt;br /&gt;/W Windows_Event_Log&lt;br /&gt;Specifies whether or not to write the completion status of the package execution to the Windows Application Log. Specify True or False.&lt;br /&gt;/Z&lt;br /&gt;Indicates that the command line for dtsrun is encrypted using SQL Server 2000 encryption.&lt;br /&gt;/!X&lt;br /&gt;Blocks execution of the selected DTS package. Use this command parameter when you want to create an encrypted command line without executing the DTS package.&lt;br /&gt;/!D&lt;br /&gt;Deletes the DTS package from an instance of SQL Server. The package is not executed. It is not possible to delete a specific DTS package from a structured storage file. The entire file needs to be overwritten using the /F and /S options.&lt;br /&gt;/!Y&lt;br /&gt;Displays the encrypted command used to execute the DTS package without executing it.&lt;br /&gt;/!C&lt;br /&gt;Copies the command used to execute the DTS package to the Microsoft Windows® clipboard. This option can also be used in conjunction with /!X and /!Y.&lt;br /&gt;Remarks&lt;br /&gt;Security Note  Batch files may contain credentials stored in plain text. Credentials may be echoed to the user's screen during batch execution.&lt;br /&gt;If you do not specify any command line switches, specify an incorrect command line switch, or your command statement contains a syntax error, dtsrun returns error information and usage instructions. If you enter dtsrunui on the command line without any command line switches, you will start the DTS Run utility.&lt;br /&gt;Spaces between command switches and values are optional. Embedded spaces in values must be embedded between double quotation marks.&lt;br /&gt;If an option is specified multiple times, the last occurrence takes precedence. One exception is the /A command switch. Specifying more than one /A switch creates multiple global variables.&lt;br /&gt;When specifying a global variable with the /A command switch, you must use a type identifier to indicate the data type of the global variable.&lt;br /&gt;A tilde (~) character after the forward slash (for example, /~Z) indicates that the parameter value is encrypted and what follows is the hexadecimal text of the encrypted value.&lt;br /&gt;&lt;a title="Expand or collapse text" href="http://msdn.microsoft.com/library/en-us/coprompt/cp_dtsrun_95kp.asp?frame=true#" target="_self"&gt;The table shows the global variable data types and their IDs.&lt;/a&gt;&lt;br /&gt;Data type&lt;br /&gt;Type ID&lt;br /&gt;Integer (small)&lt;br /&gt;2&lt;br /&gt;Integer&lt;br /&gt;3&lt;br /&gt;Real (4-byte)&lt;br /&gt;4&lt;br /&gt;Real (8-byte)&lt;br /&gt;5&lt;br /&gt;Currency&lt;br /&gt;6&lt;br /&gt;Date&lt;br /&gt;7&lt;br /&gt;String&lt;br /&gt;8&lt;br /&gt;Boolean&lt;br /&gt;11&lt;br /&gt;Decimal&lt;br /&gt;14&lt;br /&gt;Integer (1-byte)&lt;br /&gt;16&lt;br /&gt;Unsigned int (1-byte)&lt;br /&gt;17&lt;br /&gt;Unsigned int (2-byte)&lt;br /&gt;18&lt;br /&gt;Unsigned int (4-byte)&lt;br /&gt;19&lt;br /&gt;Integer (8-byte)&lt;br /&gt;20&lt;br /&gt;Unsigned int (8-byte)&lt;br /&gt;21&lt;br /&gt;Int&lt;br /&gt;22&lt;br /&gt;Unsigned int&lt;br /&gt;23&lt;br /&gt;HRESULT&lt;br /&gt;25&lt;br /&gt;Pointer&lt;br /&gt;26&lt;br /&gt;LPSTR&lt;br /&gt;30&lt;br /&gt;LPWSTR&lt;br /&gt;31&lt;br /&gt;&lt;br /&gt;For information about where to find or how to run this utility, see &lt;a href="http://msdn.microsoft.com/library/en-us/coprompt/cp_intro_3nsj.asp"&gt;Getting Started with Command Prompt Utilities&lt;/a&gt;.&lt;br /&gt;Examples&lt;br /&gt;To execute a DTS package saved as a COM-structured storage file, use:&lt;br /&gt;dtsrun /Ffilename /Npackage_name /Mpackage_password&lt;br /&gt;To execute a DTS package saved in the SQL Server msdb database, use:&lt;br /&gt;dtsrun /Sserver_name /Uuser_nName /Ppassword /Npackage_name /Mpackage_password&lt;br /&gt;To execute a DTS package saved in Meta Data Services, use:&lt;br /&gt;dtsrun /Sserver_name /Uuser_nrame /Ppassword /Npackage_name /Rrepository_name&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Yo usaba esa forma de ejecucion de DTS's pero se me complicaba un poco la vida para la captura de errores desde el mismo store procedure que lo ejecutaba, en mi caso como la ejecucion de los DTSs formaba parte de todo un servicio de migración decidi hacer la ejecucion via codigo. y me funciono muy bien hasta ahora :D: Dim appDTS As New Application() Dim pkgDTS As New Package() Dim varDTS As Variables varDTS = pkgDTS.Variables pkgDTS = appDTS.LoadPackage(strPackageName, Nothing) pkgDTS.Execute() If pkgDTS.ExecutionResult = DTSExecResult.Failure Then ''Error List End If Claro esto bajo .NET 2005, no se si hay el equivalente para version 2003.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18745820-113158627036333961?l=manualespracticos.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://manualespracticos.blogspot.com/feeds/113158627036333961/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18745820&amp;postID=113158627036333961' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18745820/posts/default/113158627036333961'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18745820/posts/default/113158627036333961'/><link rel='alternate' type='text/html' href='http://manualespracticos.blogspot.com/2005/11/ejecutando-un-dts-desde-un-programa.html' title='Ejecutando un DTS desde un Programa'/><author><name>ganapi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18745820.post-113147199645310012</id><published>2005-11-08T09:46:00.000-08:00</published><updated>2005-11-09T14:58:54.333-08:00</updated><title type='text'>Data Transformation Services</title><content type='html'>&lt;div align="justify"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family:Verdana;"&gt;Una de las herramientas que agrega SQL Server 2000 son los servicios de transformación de datos (DTS – por sus siglas en inglés), lo cuales permiten mover datos entre varios orígenes de datos, por ejemplo: desde Dbase III a SQL Server o viceversa o desde SQL Server al mismo. A pesar de que aquí solo se explicará paso a paso la parte de importación/exportación a través del asistente que trae SQL Server, los DTS son mucho más que eso, ya que nos dan la posibilidad de programar paquetes de DTS que realicen diferentes tareas. &lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-family:Verdana;"&gt;&lt;/span&gt;&lt;div align="justify"&gt;&lt;span style="font-family:Verdana;"&gt;Un conjunto de pasos que se ejecutan en determinado orden es lo que conocemos como una tarea. Podemos citar algunos ejemplos:&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;ol&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:Verdana;"&gt;Transformación de datos.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="left"&gt;&lt;span style="font-family:Verdana;"&gt;Copia de objetos de base de datos: &lt;/span&gt;&lt;span style="font-family:Verdana;"&gt;tablas, índices, etc.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="left"&gt;&lt;span style="font-family:Verdana;"&gt;Importación y exportación de datos entre dos orígenes de datos.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="left"&gt;&lt;span style="font-family:Verdana;"&gt;Ejecución de instrucciones de Transact-SQL.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p align="justify"&gt;&lt;span style="font-family:verdana;"&gt;Podemos pensar en nuestro día a día como programadores, en algunas ocasiones nos encontramos con sistemas un poco antiguos que hemos heredado y a los cuales debemos darles mantenimiento o migrar sus datos en forma parcial o total, o en ocaciones integrar dos sistemas con origenes de datos totalmente diferentes. Pues los DTS’s nos dan la posibilidad de mover, copiar, modificar y trabajar con orígenes de datos iguales o diferentes.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:Verdana;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;"&gt;Por medio de un DTS se pueden copiar y transformar desde y hacia múltiples orígenes de datos, entre ellos:&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;span style="font-size:0;"&gt;&lt;span style="font-size:0;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;Dbase III, IV y V.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;Access &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;Excel &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;Archivos de Texto&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;Paradox&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;OLE DB (SQL Server, Oracle)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;Exchange Server&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;Y otros orígenes de datos proporcionados por terceros (Oracle, Sybase, Adaptive Server Anywhere 9.0, y otros)&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;span style="font-size:0;"&gt;&lt;span style="font-size:0;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Verdana;"&gt;Iniciando:&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:Verdana;"&gt;La forma más común de iniciar la creación de un DTS es entrando por medio del SQL Server-Enterprise Manager y seleccionando la opción Wizards… del menú Tools y seleccionando del árbol de selección la opción de Data Transformation Services, también lo podemos hacer desde la consola de comandos del sistema ejecutando el archivo &lt;/span&gt;&lt;em&gt;&lt;span style="font-family:Verdana;"&gt;dtswiz.exe&lt;/span&gt;&lt;/em&gt;&lt;span style="font-family:Verdana;"&gt;, otra forma es, posicionándonos en una base de datos y presionando el botón derecho, seleccionamos &lt;em&gt;Todas las tareas&lt;/em&gt; del menú contextual y la opción Importar datos o exportar datos dependiendo de la tarea que vamos a realizar.&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:Verdana;"&gt;Repasemos los pasos que debemos seguir: &lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:Verdana;"&gt;1. La primera pantalla del wizard que nos aparece es meramente informativa donde se nos indica para que sirve un DTS, presionamos el botón next -aquí es donde empieza la acción- veremos una pantalla como la imagen que vemos a continuación. En esta seleccionamos el origen de los datos (Data Source). En esta pantalla seleccionamos un origen de datos (donde estan los datos que necesitamos transferir). &lt;/span&gt;&lt;span style="font-family:Verdana;"&gt;Esta pantalla puede cambiar su apariencia en función de los opciones que vayamos selecionando. Aparecerá pre-seleccionada la opción de SQL Server del que queremos extraer datos, por defecto esta seleccionado el servidor local (si tenemos SQL Server instalado localmente). Seleccionamos la forma en que nos auntenticaremos en el servidor SQL Server seleccionado. Luego la bases de datos de donde queremos extraer los datos. Una vez configurada la pantalla &lt;/span&gt;&lt;em&gt;&lt;span style="font-family:Verdana;"&gt;Elegir un origen de datos &lt;/span&gt;&lt;/em&gt;&lt;span style="font-family:Verdana;"&gt;pulsamos siguiente.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;"&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/blogger/6985/1818/1600/DTS-Datasource.0.jpg"&gt;&lt;img style="CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/6985/1818/320/DTS-Datasource.0.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/blogger/6985/1818/1600/DTS-Datasource.jpg"&gt;&lt;/a&gt;&lt;br /&gt;2. La siguiente pantalla &lt;/span&gt;&lt;em&gt;&lt;span style="font-family:Verdana;"&gt;elegir un destino de datos (Destination)&lt;/span&gt;&lt;/em&gt;&lt;span style="font-family:Verdana;"&gt; es identica a la anterior, con las mismas opciones, pero en este caso las opciones que estamos seleccionando son las de destino de los datos.&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:Verdana;"&gt;3. En la tercera pantalla que nos aparece debemos &lt;/span&gt;&lt;em&gt;&lt;span style="font-family:Verdana;"&gt;Elegir la tabla o consulta(Query) &lt;/span&gt;&lt;/em&gt;&lt;span style="font-family:Verdana;"&gt;de donde queremos obtener los datos, aquí hay tres opciones dependiendo del modo en que queramos copiar los datos. Según sea el origen de datos seleccionado puede que se activen o se desactiven opciones en esta pantalla. &lt;/span&gt;&lt;/p&gt;&lt;span style="font-family:Verdana;"&gt;&lt;/span&gt;&lt;p align="justify"&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/blogger/6985/1818/1600/DTS_TableCopyQuery.0.jpg"&gt;&lt;img style="CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/6985/1818/320/DTS_TableCopyQuery.0.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/blogger/6985/1818/1600/DTS_TableCopyQuery.jpg"&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;"&gt;&lt;strong&gt;Copiar tablas y vistas desde el origen de datos:&lt;/strong&gt; Si seleccionamos &lt;/span&gt;&lt;em&gt;&lt;span style="font-family:Verdana;"&gt;copiar las tablas y vistas de la base de datos de origen &lt;/span&gt;&lt;/em&gt;&lt;span style="font-family:Verdana;"&gt;nos encontraremos con la siguiente pantalla en la tendremos que seleccionar las tablas y/o vistas que trasladaremos a la base de datos destino, si se selecciona una tabla y se pulsa el botón (…), en la columna transformar aparece una pantalla para modificar las opciones de traspaso de esa tabla, si la tabla no existe en el destino, ésta se creará pero si existe tenemos la posibilidad de borrarla o hacer un "append" a los datos ya existentes. &lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/blogger/6985/1818/1600/DTS_TablesViews.jpg"&gt;&lt;img style="CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/6985/1818/320/DTS_TablesViews.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;/span&gt;&lt;p align="justify"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;strong&gt;Usar consulta para especificar los datos a transferir:&lt;/strong&gt; E&lt;/span&gt;&lt;span style="font-family:Verdana;"&gt;sta opción permite crear una consulta SQL para definir los datos que vamos a transferir, así podriamos filtrar solamente los datos deseados.&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;a href="http://photos1.blogger.com/blogger/6985/1818/1600/DTS_QueryBuilder.0.jpg"&gt;&lt;img style="CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/6985/1818/320/DTS_QueryBuilder.0.jpg" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:Verdana;"&gt;Como se puede apreciar en la pantalla anterior tenemos un botón con la etiqueta "Query Builder" que nos llevara a otra pantalla donde podremos seleccionar las tablas o vistas a partir de las cuales podremos extraer los datos requeridos e ir contruyendo nuestra consulta paso a paso.&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;strong&gt;Copiar objetos y datos entre bases de datos SQL Server: &lt;/strong&gt;Si lo que se necesita hacer es una transferencia entre servidores, ya sea porque necesitamos mover una Base de Datos o crear una copia en otro servidor, esta es la opción que debemos seleccionar&lt;/span&gt;&lt;span style="font-family:Verdana;"&gt;. Como vemos en la siguiente pantalla podemos elegir los objetos que deseamos copiar, tales como: Procedimientos almacenados, vistas, tablas, restricciones, defaults, reglas, funciones definidas por el usuario, etc. También podemos seleccionar opciones para sobrescribir o agregar datos, copiar todos los objetos de la base de datos o seleccionarlos de una lista.&lt;/span&gt;&lt;/p&gt;&lt;span style="font-family:Verdana;"&gt;&lt;p align="justify"&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/blogger/6985/1818/1600/DTS_SelectObjectsToCopy.0.jpg"&gt;&lt;img style="CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/6985/1818/320/DTS_SelectObjectsToCopy.0.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/blogger/6985/1818/1600/DTS_SelectObjectsToCopy.jpg"&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:Verdana;"&gt;4. En la siguiente pantalla vamos a decidir que queremos hacer con el DTS, si lo que estamos haciendo es una tarea que solo la necesitamos una vez, puede ser que no sea necesario guardarla en la base de datos (consejo: es mejor guardarlo porque a veces las cosas no funcionan como queremos en la primera, asi eventualmente podríamos modificar el DTS).&lt;br /&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/blogger/6985/1818/1600/DTS_Save.jpg"&gt;&lt;img style="CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/6985/1818/320/DTS_Save.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;En esta pantalla podemos decidir cuando y como ejecutar el DTS, podemos ejecutarlo en el mismo momento o programarlo como una tarea y/o salvarlo como un paquete DTS, procedimiento almacenado o como un módulo de Visual Basic. &lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:Verdana;"&gt;Si decidimos salvarlo nos encontraremos con una pantalla como la sieguiente imagen:&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/blogger/6985/1818/1600/DTS_SavePackage.1.jpg"&gt;&lt;img style="CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/6985/1818/320/DTS_SavePackage.1.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;En esta pantalla podemos ponerle un nombre adecuado al DTS el cual como siempre debe ser descriptivo, en el campo "Description" podemos escribir una descripción que aclare el propósito del DTS, si queremos podemos inclusive proteger el paquete con una palabra clave para evitar su modificación y se debe definir la base de datos donde se grabara el DTS y la la forma en que nos conectaremos a este servidor.&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:Verdana;"&gt;Y en la última pantalla lo que se presenta es información del proceso que se va a realizar, dependiendo de las opciones seleccionadas en las pantallas previas. &lt;/span&gt;&lt;/p&gt;&lt;span style="font-family:Verdana;"&gt;&lt;p align="justify"&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/blogger/6985/1818/1600/DTS_Completing.2.jpg"&gt;&lt;img style="CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/6985/1818/320/DTS_Completing.2.jpg" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:Verdana;"&gt;Como se ha descubierto en este documento crear, ejecutar o programar la ejecución de un DTS es una tarea bastante sencilla y potente que puede ser muy útil a la hora de transferir datos entre servidores remotos o entre diferentes fuentes de datos. Los DTS también pueden ser creados desde código Visual Basic, Visual C++, .Net y otros, usando los objetos que estan disponibles atravez de esos lenguajes de programación, por ejemplo desde Visual Basic se deben utilizar las librerías “Microsoft DTSDataPump Scripting Object Library” (dtspump.dll) y “Microsoft DTSPackage Object Library” (dtspkg.dll).&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:Verdana;"&gt;Además un DTS puede ser ejecutado desde la línea de comando o bien ser ejecutado desde cualquier otro lenguaje como PowerBuilder por ejemplo, pero esto es otra historia que veremos en proximas entregas.&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18745820-113147199645310012?l=manualespracticos.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://manualespracticos.blogspot.com/feeds/113147199645310012/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18745820&amp;postID=113147199645310012' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18745820/posts/default/113147199645310012'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18745820/posts/default/113147199645310012'/><link rel='alternate' type='text/html' href='http://manualespracticos.blogspot.com/2005/11/data-transformation-services.html' title='Data Transformation Services'/><author><name>ganapi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18745820.post-113141403393676450</id><published>2005-11-07T17:37:00.000-08:00</published><updated>2005-11-07T17:40:33.943-08:00</updated><title type='text'>Inicio</title><content type='html'>&lt;div align="justify"&gt;Debido a la facilidad con la que se puede implementar una página bastante vistosa en &lt;a href="http://www.blogger.com"&gt;www.blogger.com&lt;/a&gt; he decido iniciar mi tan soñada página de Manuales de Informática para los que lo quieran leer, dependiendo de la respuesta que tenga intentare crear mi propia página con más funcionalidades, espero que me envien su "feedback", gracias.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18745820-113141403393676450?l=manualespracticos.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://manualespracticos.blogspot.com/feeds/113141403393676450/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18745820&amp;postID=113141403393676450' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18745820/posts/default/113141403393676450'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18745820/posts/default/113141403393676450'/><link rel='alternate' type='text/html' href='http://manualespracticos.blogspot.com/2005/11/inicio.html' title='Inicio'/><author><name>ganapi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
