Foros del Web » Programación para mayores de 30 ;) » .NET »

Convertir datos DT_TEXT en DT_WSTR en un SSIS SQL2012 (Sin suicidarse)

Estas en el tema de Convertir datos DT_TEXT en DT_WSTR en un SSIS SQL2012 (Sin suicidarse) en el foro de .NET en Foros del Web. Hola, Estoy cambiando los servidores en la empresa y traspasando a mano unos DTS de SQL 2000, que leen datos de VisualFoxpro, los modifican y ...
  #1 (permalink)  
Antiguo 05/07/2013, 03:54
 
Fecha de Ingreso: noviembre-2008
Ubicación: Barcelona
Mensajes: 52
Antigüedad: 15 años, 4 meses
Puntos: 0
Pregunta Convertir datos DT_TEXT en DT_WSTR en un SSIS SQL2012 (Sin suicidarse)

Hola,
Estoy cambiando los servidores en la empresa y traspasando a mano unos DTS de SQL 2000, que leen datos de VisualFoxpro, los modifican y los dejan en las tablas del nuevo SQL 2012.

Todo funciona de maravilla pero encuentro problemas con los campos de flujo de datos DT-TEXT y que tengo que dejar al tipo string. (En los DTS de SQL 2000 no había problemas ya que los trataba como cadenas. Se le podía hacer un Trim, Mid, etc…)

Para crear los SSIS utilizo VStudio 2010

En uno de mis dtsx tengo un script de transformación que me hace varias cosas, con las otras columnas y perfecto, pero con una columna del tipo DT_TEXT no funciona.

En el Editor de transformación de scrip, tengo:

- Una columna de entrada que me la entrega un OBDC que lee VisualFoxpro llamada www con DataType DT_TEXT (Flujo de datos de texto)
- Una columna de salida llamada splazoent con Datatype cadena Unicode DT_WSTR y longitud 10 caracteres

La idea es coger los datos de www que como mucho miden 8 caracteres y hacerle un Trim, para dejarlo en la columna splazoent. Así de simple.

Este es el script creado en Visual Basic

Código:
   Public Overrides Sub Entrada0_ProcessInputRow(ByVal Row As Entrada0Buffer)
        '
        ' Recoge datos DT_TEXT y los convierte en cadena STRING
        '
        Dim tx_plazo As String = _
        System.Text.Encoding.Unicode.GetString(Row.www.GetBlobData(0, CInt(Row.www.Length)))

        If tx_plazo.Trim.Length > 0 Then
            Row.splazoent = tx_plazo.Trim

        End If
    End Sub
Pero al iniciar la depuración desde Visual Studio me dice que los datos son muy grandes para el buffer.
Luego al modificar algo, se queda el script marcado con el error y me dice que “No se encuentra el código binario para el script, que abra el editor y lo modifique

No sé. He mirado por google, etc… pero no encuentro nada en ningún sitio.
Me estoy volviendo loco porque llevo con esto más de una semana y no consigo solucionarlo, para poder cambiar ya los servidores.

Espero vuestra yuda.
  #2 (permalink)  
Antiguo 05/07/2013, 08:27
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Convertir datos DT_TEXT en DT_WSTR en un SSIS SQL2012 (Sin suicidarse)

creo que esa cuestion iria en el foro de VB no??
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 05/07/2013, 12:51
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Convertir datos DT_TEXT en DT_WSTR en un SSIS SQL2012 (Sin suicidarse)

Movido a .Net
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: flujo, sql-server, ssis, unicode
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:27.