SSIS - SQL Server Integration Services - Configurar OLEDB Connection

 
Vista:

Configurar OLEDB Connection

Publicado por Marc (4 intervenciones) el 24/07/2017 09:12:02
Tengo un paquete SSIS, y necesito crear un OLEDB Connection y configurarlo desde un XML donde tengo el ConnectionString necesario para ese OLEDB. Como puedo hacerlo?

Se que desde la propiedad expressions, puedo hacer :

Property Expression
ConnectionString | NombreVariable


Pero como consigo asignar el valor del connectionString de mi fichero XML a esta variable (NombreVariable).
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Asignar ConnectionString desde XML a variable y configurar OLE DB connection

Publicado por Alejandro (60 intervenciones) el 26/02/2024 22:41:35
Marc, para asignar el valor del ConnectionString de tu archivo XML a una variable en SSIS, puedes seguir estos pasos:

1. Creación de una variable:
- En tu paquete SSIS, crea una variable que almacenará el ConnectionString. Por ejemplo, podrías llamarla `User::ConnectionStringFromXML`.

2. Uso de un Script task para leer el XML:
- Agrega una tarea "Script task" a tu flujo de control SSIS.
- Configura la tarea para que utilice un lenguaje de script compatible (C# o VB.NET).

3. Escribe el código del Script task:
- Abre el Editor de scripts y escribe el código necesario para leer el ConnectionString desde tu archivo XML y asignarlo a la variable creada. Aquí hay un ejemplo en C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
using System;
using System.Xml;
 
public class ScriptMain : UserComponent
{
    public void Main()
    {
        // Ruta del archivo XML
        string xmlFilePath = @"C:\Ruta\TuArchivo.xml";
 
        // Nombre del nodo que contiene el ConnectionString
        string connectionStringNode = "ConnectionString";
 
        try
        {
            // Leer el XML y obtener el ConnectionString
            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.Load(xmlFilePath);
            string connectionString = xmlDoc.SelectSingleNode(connectionStringNode).InnerText;
 
            // Asignar el ConnectionString a la variable SSIS
            Dts.Variables["User::ConnectionStringFromXML"].Value = connectionString;
 
            Dts.TaskResult = (int)ScriptResults.Success;
        }
        catch (Exception ex)
        {
            // Manejar errores según sea necesario
            Dts.Events.FireError(0, "Script Task", ex.Message, string.Empty, 0);
            Dts.TaskResult = (int)ScriptResults.Failure;
        }
    }
}

4. Cerrar el Editor de scripts:
- Cierra el Editor de scripts y guarda los cambios.

5. Configurar variables de Script task:
- En la ventana de configuración de la tarea "Script task", ve a la pestaña "Script" y agrega la variable `User::ConnectionStringFromXML` como una variable de solo lectura.

6. Uso de la variable en la configuración OLE DB connection:
- Configura la conexión OLE DB y utiliza la expresión en la propiedad ConnectionString para referenciar la variable que contiene el ConnectionString. Como mencionaste:
- Property: `ConnectionString`
- Expression: `@[User::ConnectionStringFromXML]`

Con estos pasos, el paquete leerá el ConnectionString desde tu archivo XML usando la tarea "Script task" y lo asignará a la variable `User::ConnectionStringFromXML`. Luego, puedes utilizar esa variable en la configuración de tu conexión OLE DB mediante la propiedad Expression.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar