Vraag : Voeg rowcount aan filename toe


Ik schreef een pakket SSIS dat Xml- dossiers van opgeslagen procedureresultaten zal produceren. De gegevens zijn beweging hoewel een taak van de gegevensstroom. Ik heb een van de de gegevensstroom „van de Telling van het Verslag punt“ dat de verslagtelling aan een gebruikers veranderlijke genoemde „Gebruiker: toewijst: rowcount“.

Het bestemmingspunt is een manuscriptcomponent waar ik de rowcountvariabele readonly heb. In mijn vbmanuscript, cre�ër ik filename onder Publiek met voeten treed SubPreExecute () „zie lijn 36 van code“.

Wanneer uitgevoerd, ontbreekt het met de volgende foutenmeldingen:

[De Telling van de Rij [159]] Fout: De veranderlijke „Gebruiker:: rowcount“ gespecificeerd door VariableName is het bezit geen geldige variabele. Vereis een geldige veranderlijke naam te schrijven aan.

[DTS.Pipeline] Fout: de component de „Telling van de Rij“ (159) ontbrak post-uitvoert fase en teruggekeerde foutencode 0xC02020EE.


Nochtans, wordt het dossier nog gecre�ërd maar de standaardwaarde van Gebruiker:: rowcount van 0 wordt toegevoegd aan filename.


Iedereen heeft om het even welke oplossingen aan dit?
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:
147:
148:
149:
150:
151:
152:
'Van het de gebruikersmanuscript van de Diensten van de Integratie van de Server van Microsoft SQL de component
'Dit is uw nieuwe manuscriptcomponent in Microsoft Visuele Basis.NET
'ScriptMain is de entrypointklasse voor manuscriptcomponenten

Het Systeem van de invoer
De invoer System.Data
De invoer System.Math
De invoer System.IO
De invoer Microsoft.SqlServer.Dts.Pipeline.Wrapper
De invoer Microsoft.SqlServer.Dts.Runtime.Wrapper
De invoer System.Xml

Openbare Klasse ScriptMain
    Erft UserComponent
    Schemerige sw als StreamWriter
    'Naast het gebruiken van de van de Invoer System.Xml- verklaring moet een verwijzing aan worden toegevoegd
    'Uitgezochte assemblage  System.Xml (project-voeg Verwijzing van winde toe)
    Verduister xWriter als XmlTextWriter
    Verduister OutputFileType als Koord „.csv of .xml“
    Verduister in tegenovergestelde richting als Geheel


    Het publiek treedt SubPreExecute () met voeten

        'Lees slechts variabelen
        Verduister gsPickUp als Koord = Me.Variables.gsPickUp „D:\ftproot\Out\Avid“
        Verduister gsPickUpFilename als Koord = Me.Variables.gsPickUpFilename „1_AVID_“
        Verduister gsPickUpFileExtn als Koord = Me.Variables.gsPickUpFileExtn „.csv“
        Verduister gsMemoText als Koord = de „Tekst van het Memorandum Me.Variables.gsMemoText: crediteer aanpassing“
        Verduister gsStatementText als Koord = de „Tekst van de Verklaring Me.Variables.gsStatementText: crediteer aanpassing“
        Verduister gsRunMode als Koord = Me.Variables.gsRunMode „UPDATE“
        Verduister gsFileType als Koord = Me.Variables.gsFileType
        Verduister fileName als Koord = gsPickUp & „\“ & gsPickUpFilename
        'Verduister cnt als Geheel = Me.Variables.rowcount
        'Verduister cnt als Variabele = Dts.VariableDispenser.LockOneForRead („Gebruiker:: rowcount“, cnt)
        Teller = Variables.rowcount
        fileName = fileName & (Formaat (nu (), „yyyyMMddHHmm“) .ToString) &“ _ „& Teller


        'MsgBox (fileName)


        OutputFileType = gsPickUpFileExtn

        Als OutputFileType = „.xml“ toen
            fileName = fileName & gsPickUpFileExtn
            'xWriter = Nieuwe XmlTextWriter (Me.Connections.XMLConnection.ConnectionString, niets)
            'xWriter.WriteStartDocument ()
            'xWriter.WriteComment („ontlede het dossier van de Klant gebruikend manuscript“)
            'xWriter.WriteStartElement („x“, „klant“, „http://some.org/name“)
            'xWriter.WriteAttributeString („FileName“, Me.Connections.XMLConnection.ConnectionString)
            xWriter = Nieuwe XmlTextWriter (fileName, niets)
            'xWriter.Formatting = Formatting.Indented
            'xWriter.Indentation = 0
            xWriter.WriteStartDocument ()
            xWriter.WriteComment („ontlede het dossier van de Klant gebruikend manuscript“)
            xWriter.WriteStartElement („x“, „Mededeling“, "")
            'xWriter.WriteAttributeString („Type“, gsFileType)



        Eind als



    Sub van het eind




    Het publiek treedt SubParsedInput_ProcessInputRow (Rij ByVal als ParsedInputBuffer) met voeten

        Tegen += 1


        Als OutputFileType = „.xml“ toen
            xWriter.WriteString (Environment.NewLine)
            xWriter.WriteStartElement („x“, „Mededeling“, "")
            xWriter.WriteAttributeString („Type“, „LogCall“)


            xWriter.WriteElementString („CommunicationLog_CallId“, Row.CommunicationLogCallId.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 („FromPhoneNumber“, Row.FromPhoneNumber.ToString)
            xWriter.WriteElementString („RecordingFileName“, Row.RecordingFileName.ToString)
            xWriter.WriteElementString („Manuscript“, Row.Script.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)
            'Schrijf („
„) Eind als Sub van het eind Het publiek treedt SubPostExecute () met voeten Als OutputFileType = „.xml“ toen 'xWriter.WriteStartElement („RecordCount“) 'xWriter.WriteString (Me.Variables.rowcount.ToString) 'xWriter.WriteEndElement () 'xWriter.WriteEndElement () xWriter.WriteEndDocument () xWriter.Close () Eind als Sub van het eind De Klasse van het eind

Antwoord : Voeg rowcount aan filename toe

Vond oplossing. Met een bepaalde bedoeling hield het niet van de variabele die binnen de gegevensstroomtaak worden bevolkt. Wat ik deed is bevolkt de Gebruiker:: recordcount variabele buiten de gegevensstroomtaak en x in de manuscriptcomponent
Ik voegde de variabele aan readonly lijst van veranderlijk toe en voegde het manuscript hieronder in mijn vbmanuscript toe.:

Verduister verslagen als Koord = (Me.Variables.recordcount.ToString)

fileName = fileName & (Formaat (nu (), „yyyyMMddHHmmssfff“) .ToString) &“ _ „& verslagen
Andere oplossingen  
 
programming4us programming4us