Question : Microsoft.SqlServer.Dts.Pipeline in XML


I have a vb.net script written to generate a XML file from data provided. In one of the element strings , I am getting "Microsoft.SqlServer.Dts.Pipeline" as a value. The actual data field is a large field (varchar(max)).

See line 106.

I am fairly new to this and help is greatly appreciated.
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:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
' Microsoft SQL Server Integration Services user script component
' This is your new script component in Microsoft Visual Basic .NET
' ScriptMain is the entrypoint class for script components

Imports System
Imports System.Data
Imports System.Math
Imports System.IO
Imports Microsoft.SqlServer.Dts.Pipeline.Wrapper
Imports Microsoft.SqlServer.Dts.Runtime.Wrapper
Imports System.Xml

Public Class ScriptMain
    Inherits UserComponent
    Dim sw As StreamWriter
    'In addition to using the Imports System.Xml statement a reference must be added to the
    'System.Xml assembly  (Select Project-Add Reference from IDE)
    Dim xWriter As XmlTextWriter
    Dim OutputFileType As String '.csv or .xml'


    Public Overrides Sub PreExecute()

        'Read Only variables
        Dim gsPickUp As String = Me.Variables.gsPickUp 'D:\ftproot\Out\Avid'
        Dim gsPickUpFilename As String = Me.Variables.gsPickUpFilename '1_AVID_'
        Dim gsPickUpFileExtn As String = Me.Variables.gsPickUpFileExtn '.csv'
        Dim gsMemoText As String = Me.Variables.gsMemoText 'Memo Text : credit adjustment'
        Dim gsStatementText As String = Me.Variables.gsStatementText 'Statment Text : credit adjustment'
        Dim gsRunMode As String = Me.Variables.gsRunMode 'UPDATE'
        Dim gsFileType As String = Me.Variables.gsFileType
        Dim fileName As String = gsPickUp & "\" & gsPickUpFilename
        fileName = fileName & (Format(Now(), "yyyyMMddHHmm").ToString)

        'MsgBox(fileName)


        OutputFileType = gsPickUpFileExtn

        If OutputFileType = ".xml" Then
            fileName = fileName & gsPickUpFileExtn
            'xWriter = New XmlTextWriter(Me.Connections.XMLConnection.ConnectionString, Nothing)
            'xWriter.WriteStartDocument()
            'xWriter.WriteComment("Customer file parsed using script")
            'xWriter.WriteStartElement("x", "customer", "http://some.org/name")
            'xWriter.WriteAttributeString("FileName", Me.Connections.XMLConnection.ConnectionString)
            xWriter = New XmlTextWriter(fileName, Nothing)
            'xWriter.Formatting = Formatting.Indented
            'xWriter.Indentation = 0
            xWriter.WriteStartDocument()
            xWriter.WriteComment("Customer file parsed using script")
            xWriter.WriteStartElement("x", "Communication", "")
            'xWriter.WriteAttributeString("Type", gsFileType)



        End If



    End Sub




    Public Overrides Sub ParsedInput_ProcessInputRow(ByVal Row As ParsedInputBuffer)



        If OutputFileType = ".xml" Then
            xWriter.WriteString(Environment.NewLine)
            xWriter.WriteStartElement("x", "Communication", "")
            xWriter.WriteAttributeString("Type", "LogSMS")


            xWriter.WriteElementString("CommunicationLog_SMSId", Row.CommunicationLogSMSId.ToString)
            xWriter.WriteElementString("CommunicationLogId", Row.CommunicationLogId.ToString)
            xWriter.WriteElementString("LMDealershipCode", Row.LMDealershipCode.ToString)
            xWriter.WriteElementString("MQDealershipId", Row.MQDealershipId.ToString)
            xWriter.WriteElementString("ChannelCode", Row.ChannelCode.ToString)
            xWriter.WriteElementString("VersionId", Row.VersionId.ToString)
            xWriter.WriteElementString("InstanceId", Row.InstanceId.ToString)
            xWriter.WriteElementString("SendDateTime", Row.SendDateTime.ToString)
            xWriter.WriteElementString("TimeZone", Row.TimeZone.ToString)
            xWriter.WriteElementString("CampaignType", Row.CampaignType.ToString)
            xWriter.WriteElementString("CampaignCode", Row.CampaignCode.ToString)
            xWriter.WriteElementString("CampaignName", Row.CampaignName.ToString)
            xWriter.WriteElementString("CustomerFirstName", Row.CustomerFirstName.ToString)
            xWriter.WriteElementString("CustomerLastName", Row.CustomerLastName.ToString)
            xWriter.WriteElementString("CustomerAddress1", Row.CustomerAddress1.ToString)
            xWriter.WriteElementString("CustomerAddress2", Row.CustomerAddress2.ToString)
            xWriter.WriteElementString("CustomerCity", Row.CustomerCity.ToString)
            xWriter.WriteElementString("CustomerState", Row.CustomerState.ToString)
            xWriter.WriteElementString("CustomerZip", Row.CustomerZip.ToString)
            xWriter.WriteElementString("CustomerHomePhoneNumber", Row.CustomerHomePhoneNumber.ToString)
            xWriter.WriteElementString("CustomerCellPhoneNumber", Row.CustomerCellPhoneNumber.ToString)
            xWriter.WriteElementString("CustomerEmailAddress", Row.CustomerEmailAddress.ToString)
            xWriter.WriteElementString("VIN", Row.VIN.ToString)
            xWriter.WriteElementString("DMSEventDateTime", Row.DMSEventDateTime.ToString)
            xWriter.WriteElementString("DMSEventType", Row.DMSEventType.ToString)
            xWriter.WriteElementString("DMSRetailCode", Row.DMSRetailCode.ToString)
            xWriter.WriteElementString("IsTest", Row.IsTest.ToString)
            xWriter.WriteElementString("ToPhoneNumber", Row.ToPhoneNumber.ToString)
            xWriter.WriteElementString("FromEmailAddress", Row.FromEmailAddres.ToString)
            xWriter.WriteElementString("Subject", Row.Subject.ToString)
            xWriter.WriteElementString("Text", Row.[Text].ToString)
            xWriter.WriteElementString("ProcessDateTime", Row.ProcessDateTime.ToString)
            xWriter.WriteElementString("SourceCode", Row.SourceCode.ToString)
            xWriter.WriteElementString("SourceId1Name", Row.SourceId1Name.ToString)
            xWriter.WriteElementString("SourceId1Value", Row.SourceId1Value.ToString)
            xWriter.WriteElementString("SourceId2Name", Row.SourceId2Name.ToString)
            xWriter.WriteElementString("SourceId2Value", Row.SourceId2Value.ToString)
            xWriter.WriteElementString("SourceId3Name", Row.SourceId3Name.ToString)
            xWriter.WriteElementString("SourceId3Value", Row.SourceId3Value.ToString)


            xWriter.WriteEndElement()
            'xWriter.WriteString(Environment.NewLine)
            'Write("<br/>")

        End If




    End Sub



    Public Overrides Sub PostExecute()


        If OutputFileType = ".xml" Then
            'xWriter.WriteStartElement("RecordCount")
            'xWriter.WriteString(Me.Variables.giSuccessCount.ToString)
            'xWriter.WriteEndElement()
            'xWriter.WriteEndElement()
            xWriter.WriteEndDocument()
            xWriter.Close()
        End If


    End Sub


End Class

Answer : Microsoft.SqlServer.Dts.Pipeline in XML

The default return value for the ToString method, derived from System.Object, is to return the fully-qualified type name.  If you get the type value, then I would think that you would need to find a property on the object to get the right value, instead of ToString.
Random Solutions  
 
programming4us programming4us