Pergunta : Adicionar o rowcount ao nome de arquivo


Eu escrevi um pacote de SSIS que gerasse limas de XML dos resultados do procedimento armazenado. Os dados são movimento embora uma tarefa do fluxo de dados. Eu tenho “uma contagem Record” artigo do fluxo de dados que atribui a contagem record usuário nomeado variável do usuário a um “:: rowcount”.

O artigo do destino é um componente do certificado onde eu tenha a variável do rowcount como de leitura apenas. Em meu certificado do vb, eu estou criando o nome de arquivo sob o público cancelo PreExecute secundário () “ver a linha 36 de código”.

Quando executado, falha com as seguintes mensagens de erro:

[Contagem da fileira [159]] erro: O “usuário variável:: o rowcount” especific pela propriedade de VariableName não é uma variável válida. Precisar um nome variável válido de escrever a.

[DTS.Pipeline] Erro: da “a contagem componente fileira” (159) falhou a fase da borne-execução e retornou o código de erro 0xC02020EE.


Entretanto, a lima é criada ainda mas o valor de defeito do usuário:: o rowcount de 0 é adicionado o ao nome de arquivo.


Qualquer um tem todas as soluções a esta?
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:
'Componente do certificado do usuário de serviços da integração do usuário de Microsoft SQL
'Este é seu componente novo do certificado em Microsoft Visual Basic .NET
'ScriptMain é a classe do entrypoint para componentes do certificado

Sistema das importações
Importações System.Data
Importações System.Math
Importações System.IO
Importações Microsoft.SqlServer.Dts.Pipeline.Wrapper
Importações Microsoft.SqlServer.Dts.Runtime.Wrapper
Importações System.Xml

Classe pública ScriptMain
    Herda UserComponent
    Interruptor não ofuscante como StreamWriter
    'Além do que a utilização da indicação das importações System.Xml uma referência deve ser adicionada ao
    'Conjunto de System.Xml  (seleto Projeto-Adicionar a referência do IDE)
    Escurecer o xWriter como XmlTextWriter
    Escurecer OutputFileType como a corda “.csv ou .xml”
    Escurecer contra como o inteiro


    O público cancela PreExecute secundário ()

        'Ler somente variáveis
        Escurecer o gsPickUp como a corda = o Me.Variables.gsPickUp “D:\ftproot\Out\Avid”
        Escurecer o gsPickUpFilename como a corda = o Me.Variables.gsPickUpFilename “1_AVID_”
        Escurecer o gsPickUpFileExtn como a corda = o Me.Variables.gsPickUpFileExtn “.csv”
        Escurecer o gsMemoText como a corda = o texto memorando de Me.Variables.gsMemoText do “: creditar o ajuste”
        Escurecer o gsStatementText como a corda = o texto indicação de Me.Variables.gsStatementText de “: creditar o ajuste”
        Escurecer o gsRunMode como corda = Me.Variables.gsRunMode a “ATUALIZAÇÃO”
        Escurecer o gsFileType como a corda = o Me.Variables.gsFileType
        Escurecer o nome de arquivo como a corda = o gsPickUp & “\” & gsPickUpFilename
        'Cnt não ofuscante como o inteiro = o Me.Variables.rowcount
        'Cnt não ofuscante como a variável = o Dts.VariableDispenser.LockOneForRead (“usuário:: rowcount”, cnt)
        Contador = Variables.rowcount
        nome de arquivo = nome de arquivo & (formato (agora (), “yyyyMMddHHmm”) .ToString) &” _ “& contrário


        'MsgBox (nome de arquivo)


        OutputFileType = gsPickUpFileExtn

        Se OutputFileType = “.xml” então
            nome de arquivo = nome de arquivo & gsPickUpFileExtn
            'xWriter = XmlTextWriter novo (Me.Connections.XMLConnection.ConnectionString, nada)
            'xWriter.WriteStartDocument ()
            'xWriter.WriteComment (de “lima cliente analisada gramaticalmente using o certificado”)
            'xWriter.WriteStartElement (“x”, “cliente”, “http://some.org/name ")
            'xWriter.WriteAttributeString (“nome de arquivo”, Me.Connections.XMLConnection.ConnectionString)
            xWriter = XmlTextWriter novo (nome de arquivo, nada)
            'xWriter.Formatting = Formatting.Indented
            'xWriter.Indentation = 0
            xWriter.WriteStartDocument ()
            xWriter.WriteComment (de “lima cliente analisada gramaticalmente using o certificado”)
            xWriter.WriteStartElement (“x”, uma “comunicação”, "")
            'xWriter.WriteAttributeString (“tipo”, gsFileType)



        Terminar se



    Terminar o submarino




    O público cancela ParsedInput_ProcessInputRow secundário (a fileira de ByVal como ParsedInputBuffer)

        Contador += 1


        Se OutputFileType = “.xml” então
            xWriter.WriteString (Environment.NewLine)
            xWriter.WriteStartElement (“x”, uma “comunicação”, "")
            xWriter.WriteAttributeString (“tipo”, “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 (“certificado”, 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)
            'Escrever (“
") Terminar se Terminar o submarino O público cancela PostExecute secundário () Se OutputFileType = “.xml” então 'xWriter.WriteStartElement (“RecordCount”) 'xWriter.WriteString (Me.Variables.rowcount.ToString) 'xWriter.WriteEndElement () 'xWriter.WriteEndElement () xWriter.WriteEndDocument () xWriter.Close () Terminar se Terminar o submarino Terminar a classe

Resposta : Adicionar o rowcount ao nome de arquivo

Solução encontrada. Por qualquer motivo não gostou do variável que está sendo povoado dentro da tarefa do fluxo de dados. O que eu fiz é povoado o usuário:: parte externa variável do recordcount da tarefa do fluxo de dados e do x no componente do certificado
Eu adicionei a variável à lista de leitura apenas de variável e adicionei o certificado abaixo em meu certificado do vb.:

Escurecer registros como a corda = (Me.Variables.recordcount.ToString)

nome de arquivo = nome de arquivo & (formato (agora (), “yyyyMMddHHmmssfff”) .ToString) &” _ “& registros
Outras soluções  
 
programming4us programming4us