Question : Apposer le rowcount au nom de fichier


J'ai écrit un paquet de SSIS qui produira des dossiers de XML des résultats de procédé stocké. Les données sont mouvement bien qu'une tâche de flux de données. J'ai « un nombre d'enregistrements » article de flux de données qui assignent le nombre d'enregistrements utilisateur appelé variable d'utilisateur à un « : : rowcount ».

L'article de destination est un composant de manuscrit où j'ai la variable de rowcount comme inaltérable. En mon manuscrit de vb, je crée le nom de fichier sous le public dépasse PreExecute secondaire () « vois la ligne 36 du code ».

Une fois exécuté, il échoue avec les messages d'erreur suivants :

[Compte de rangée [159]] erreur : Le « utilisateur variable : : le rowcount » spécifique par la propriété de VariableName n'est pas une variable valide. Avoir besoin d'un nom variable valide pour écrire à.

[DTS.Pipeline] Erreur : le « compte de rangée » composant (159) a échoué la phase de poteau-exécution et a renvoyé le code d'erreur 0xC02020EE.


Cependant, le dossier est encore créé mais la valeur par défaut de l'utilisateur : : le rowcount de 0 est apposé l'au nom de fichier.


N'importe qui ont toutes les solutions à ceci ?
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 :
'Composant de manuscrit d'utilisateur de services d'intégration de serveur de Microsoft SQL
'C'est votre nouveau composant de manuscrit à Microsoft Visual Basic .NET
'ScriptMain est la classe d'entrypoint pour des composants de manuscrit

Système d'importations
Importations System.Data
Importations System.Math
Importations System.IO
Importations Microsoft.SqlServer.Dts.Pipeline.Wrapper
Importations Microsoft.SqlServer.Dts.Runtime.Wrapper
Importations System.Xml

Classe publique ScriptMain
    Hérite d'UserComponent
    Faible commutateur comme StreamWriter
    'En plus d'employer le rapport des importations System.Xml une référence doit être ajoutée au
    'System.Xml  (choisi Projet-Ajouter la référence de l'ide)
    Obscurcir le xWriter comme XmlTextWriter
    Obscurcir OutputFileType comme corde « .csv ou .xml »
    Obscurcir contre comme nombre entier


    Le public dépasse PreExecute secondaire ()

        'Lire seulement les variables
        Obscurcir le gsPickUp comme corde = Me.Variables.gsPickUp « D:\ftproot\Out\Avid »
        Obscurcir le gsPickUpFilename comme corde = Me.Variables.gsPickUpFilename « 1_AVID_ »
        Obscurcir le gsPickUpFileExtn comme corde = Me.Variables.gsPickUpFileExtn « .csv »
        Obscurcir le gsMemoText comme corde = texte de note de Me.Variables.gsMemoText « : créditer l'ajustement »
        Obscurcir le gsStatementText comme corde = texte de rapport de Me.Variables.gsStatementText « : créditer l'ajustement »
        Obscurcir le gsRunMode comme corde = Me.Variables.gsRunMode la « MISE À JOUR »
        Obscurcir le gsFileType comme corde = Me.Variables.gsFileType
        Obscurcir le nom de fichier comme corde = gsPickUp et « \ » et gsPickUpFilename
        'Faible cnt comme nombre entier = Me.Variables.rowcount
        'Faible cnt comme variable = Dts.VariableDispenser.LockOneForRead (« utilisateur : : rowcount », cnt)
        Compteur = Variables.rowcount
        nom de fichier = nom de fichier et (format (maintenant (), « yyyyMMddHHmm ») .ToString) et » _ « et contre-


        'MsgBox (nom de fichier)


        OutputFileType = gsPickUpFileExtn

        Si OutputFileType = « .xml » puis
            nom de fichier = nom de fichier et gsPickUpFileExtn
            'xWriter = nouveau XmlTextWriter (Me.Connections.XMLConnection.ConnectionString, rien)
            'xWriter.WriteStartDocument ()
            'xWriter.WriteComment (« fichier clients analysé using le manuscrit »)
            'xWriter.WriteStartElement (« x », « client », « http://some.org/name ")
            'xWriter.WriteAttributeString (« nom de fichier », Me.Connections.XMLConnection.ConnectionString)
            xWriter = nouveau XmlTextWriter (nom de fichier, rien)
            'xWriter.Formatting = Formatting.Indented
            'xWriter.Indentation = 0
            xWriter.WriteStartDocument ()
            xWriter.WriteComment (« fichier clients analysé using le manuscrit »)
            xWriter.WriteStartElement (« x », « communication », "")
            'xWriter.WriteAttributeString (« type », gsFileType)



        Finir si



    Finir le sous-marin




    Le public dépasse ParsedInput_ProcessInputRow secondaire (la rangée de ByVal comme ParsedInputBuffer)

        Compteur += 1


        Si OutputFileType = « .xml » puis
            xWriter.WriteString (Environment.NewLine)
            xWriter.WriteStartElement (« x », « communication », "")
            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 (« fuseau horaire », 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 (« manuscrit », 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)
            'Écrire (« 
") Finir si Finir le sous-marin Le public dépasse PostExecute secondaire () Si OutputFileType = « .xml » puis 'xWriter.WriteStartElement (« RecordCount ») 'xWriter.WriteString (Me.Variables.rowcount.ToString) 'xWriter.WriteEndElement () 'xWriter.WriteEndElement () xWriter.WriteEndDocument () xWriter.Close () Finir si Finir le sous-marin Finir la classe

Réponse : Apposer le rowcount au nom de fichier

Solution trouvée. Pour quelque raison elle n'a pas aimé le variable étant peuplé à l'intérieur de la tâche de flux de données. Ce que j'ai fait est peuplé l'utilisateur : : extérieur variable de recordcount de la tâche de flux de données et du x dans le composant de manuscrit
J'ai ajouté la variable à la liste inaltérable de variable et ai ajouté le manuscrit ci-dessous en mon manuscrit de vb. :

Obscurcir les disques comme corde = (Me.Variables.recordcount.ToString)

nom de fichier = nom de fichier et (format (maintenant (), « yyyyMMddHHmmssfff ») .ToString) et » _ « et disques
Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us