Fråga : Fästa rowcount till filenamen


Jag skrev en SSIS paketerar att ska frambring XML sparar från resultat för lagrat tillvägagångssätt. Datan är flyttningen though en uppgift för dataflöde. Jag har ”en rekord- räkning” objekt för dataflöde som tilldelar den rekord- räkningen till en användarevariabel som namnges ”användaren:: rowcount”.

Destinationsobjektet är en del- skriva var jag har rowcountvariabeln som skrivskydd. I min vb skriva, I-förmiddagen som skapar filenamen under offentliga åsidosättanden underPreExecute () ”ser att att fodra 36 av kodifiera”.

När det utförs, den missar med efter felmeddelandena:

[Ro räkning [159]], felet: Användare för variabeln ”:: rowcount” som specificeras av den VariableName egenskapen, är inte en giltig variabel. Behöv en känd giltig variabel att skriva till.

[DTS.Pipeline] Fel: del- ”ro räkningen” (159) missade posta-utförandet arrangerar gradvis och gick fel tillbaka kodifierar 0xC02020EE.


Emellertid spara skapas fortfarande, men standarden värderar av användare:: rowcount av 0 fästas till filenamen.


Någon har några lösningar till denna?
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:
'Microsoft SQL serverintegration servar användaren skrivar del-
'Detta är ditt nytt skrivar del- i Microsoft Visual Basic .NET
'ScriptMain är entrypointen klassificerar för skrivar delar

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

Allmänhet klassificerar ScriptMain
    Övertar UserComponent
    Dunkel strömbrytare som StreamWriter
    'Förutom att använda meddelandet för importer System.Xml en hänvisa till måste tillfogas till
    'Vald System.Xml-  enhet (Projektera-Tillfoga hänvisar till från IDE),
    Dunkel xWriter som XmlTextWriter
    Dunkla OutputFileType som stränger ”.csv eller .xml”,
    Dunkelt kontra som heltal


    Offentliga åsidosättanden underPreExecute ()

        'Läs endast variabler
        Dunkel gsPickUp som stränger = Me.Variables.gsPickUp ”D:\ftproot\Out\Avid”,
        Dunkel gsPickUpFilename som stränger = Me.Variables.gsPickUpFilename ”1_AVID_”,
        Dunkel gsPickUpFileExtn som stränger = Me.Variables.gsPickUpFileExtn ”.csv”,
        Dunkel gsMemoText som stränger = Me.Variables.gsMemoText-”Memotext: kreditera justering”,
        Dunkel gsStatementText som stränger = Me.Variables.gsStatementText-”meddelandetext: kreditera justering”,
        Dunkel gsRunMode som stränger = Me.Variables.gsRunMode ”UPPDATERING”,
        Dunkel gsFileType som stränger = Me.Variables.gsFileType
        Dunkel fileName som stränger = gsPickUp & ”\” & gsPickUpFilename
        'Dunkel cnt som heltal = Me.Variables.rowcount
        'Dunkel cnt som variabeln = Dts.VariableDispenser.LockOneForRead (”användare:: rowcount”, cnt)
        Kontra = Variables.rowcount
        fileNamen = fileNamen & (formatera (nu (), ”yyyyMMddHHmm”) .ToString) &” _ ”& kontrar


        'MsgBox (fileNamen)


        OutputFileType = gsPickUpFileExtn

        Om OutputFileType = ”.xml” därefter
            fileName = fileName & gsPickUpFileExtn
            'xWriter = nya XmlTextWriter (Me.Connections.XMLConnection.ConnectionString, ingenting)
            'xWriter.WriteStartDocument ()
            'xWriter.WriteComment (”kunden sparar parsed using skrivar”),
            'xWriter.WriteStartElement (”x”, ”kunden”, ”http://some.org/name”)
            'xWriter.WriteAttributeString (”FileName”, Me.Connections.XMLConnection.ConnectionString)
            xWriter = nya XmlTextWriter (fileNamen, ingenting)
            'xWriter.Formatting = Formatting.Indented
            'xWriter.Indentation = 0
            xWriter.WriteStartDocument ()
            xWriter.WriteComment (”kunden sparar parsed using skrivar”),
            xWriter.WriteStartElement (”x”, ”kommunikation”, "")
            'xWriter.WriteAttributeString (”typ”, gsFileType)



        Avsluta om



    Avsluta suben




    Offentliga åsidosättanden underParsedInput_ProcessInputRow (ByVal ror som ParsedInputBuffer),

        Kontra += 1


        Om OutputFileType = ”.xml” därefter
            xWriter.WriteString (Environment.NewLine)
            xWriter.WriteStartElement (”x”, ”kommunikation”, "")
            xWriter.WriteAttributeString (”typ”, ”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 (”skriva”, 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)
            'Skriv (”,
”) Avsluta om Avsluta suben Offentliga åsidosättanden underPostExecute () Om OutputFileType = ”.xml” därefter 'xWriter.WriteStartElement (”RecordCount”) 'xWriter.WriteString (Me.Variables.rowcount.ToString) 'xWriter.WriteEndElement () 'xWriter.WriteEndElement () xWriter.WriteEndDocument () xWriter.Close () Avsluta om Avsluta suben Avsluta klassificerar

Svar : Fästa rowcount till filenamen

Funnen lösning. För något resonera den gillade inte variabeln som är befolkad insida dataflowuppgiften. Vad jag gjorde, befolkas användaren:: recordcountvariabel förutom dataflowuppgiften och xet i den del- skriva
Jag tillfogade variabeln till skrivskytt listar av variabel och tillfogade skriva som var nedanför i min vb, skrivar.:

Dunkla rekord som stränger = (Me.Variables.recordcount.ToString)

fileName = fileName & (formatera (nu (), ”yyyyMMddHHmmssfff”) .ToString) &” _ ”& rekord
Andra lösningar  
 
programming4us programming4us