2010-03-03 7 views
1

J'ai besoin de commentaires sur la meilleure façon de faire ce que je veux faire, permettez-moi de le situer.paquet SSIS créé créant un fichier Excel avec la date comme nom de fichier

J'ai une énorme base de données qui reçoit constamment de nouvelles entrées. Maintenant, j'ai besoin d'un fichier Excel qui montre toutes les colonnes d'entrées de la journée passée. J'ai donc pensé que la meilleure façon d'y parvenir est d'utiliser des paquets SSIS. Je n'ai jamais vraiment utilisé SSIS autant que je ne suis pas très sûr de l'ampleur des possibilités. Donc pour le moment, je suis seulement capable de créer un paquet SSIS de ALL mes entrées. Mais j'ai besoin d'un nouveau fichier tous les jours, mais aussi où le nom de fichier contient les données, car les anciens fichiers ne seront pas supprimés etc. Je dois donc pouvoir créer un fichier .xls avec la date dans le nom du fichier. Y a-t-il un moyen facile de faire ceci? Je me demandais aussi s'il était possible de modifier automatiquement la mise en page de ce fichier Excel, en particulier les largeurs de colonnes, puisqu'elles sont toutes de largeur par défaut, ce qui n'est pas très utile pour les clients.

J'ai entendu dire qu'il était également possible de créer des packages SSIS avec Visual Studio, cela ferait-il une différence ou les possibilités sont-elles les mêmes (Gardez à l'esprit que je suis programmeur C#)?

Merci beaucoup

Répondre

3

Il est possible de créer des packages SSIS par Visual Studio. Lorsque vous cliquez sur un nouveau projet dans Visual Studio, sélectionnez Projets Business Intelligence-> Projet de services d'intégration.

Bien que différent de votre situation (c'est-à-dire, sortie de fichier Excel), dans ma situation, pour une sortie de fichier .TXT plate, j'avais la date dans le cadre du nom de fichier plat. Pour cela, dans mon Gestionnaire de connexion de fichier plat, dans Propriétés-Expressions-> Chaîne de connexion (Propriété), j'ai mis dans l'expression suivante. Une approche similaire pourrait fonctionner dans votre cas, surtout si vous optez pour une sortie de fichier .csv.

"[Folder Destination]_" + 
(DT_WSTR,4)YEAR(GETDATE()) + 
RIGHT("0" + DT_WSTR,2)MONTH(GETDATE()),2) + 
RIGHT("0" + (DT_WSTR,2)DAY(GETDATE()),2) + 
RIGHT("0" + (DT_WSTR,2)DATEPART("hh", GETDATE()),2) + ".TXT" 
1

@Kashif - Merci!

Une petite faute de frappe dans votre message. Avis manquant parenthèse ouverte sur la 3e ligne:

RIGHT("0" + DT_WSTR,2)MONTH(GETDATE()),2) + 

doit être:

RIGHT("0" + (DT_WSTR,2)MONTH(GETDATE()),2) + 

Tous ensemble:

"[Folder Destination]_" + 
(DT_WSTR,4)YEAR(GETDATE()) + 
RIGHT("0" + (DT_WSTR,2)MONTH(GETDATE()),2) + 
RIGHT("0" + (DT_WSTR,2)DAY(GETDATE()),2) + 
RIGHT("0" + (DT_WSTR,2)DATEPART("hh", GETDATE()),2) + ".TXT" 

En outre, une note pour toute personne qui trouve ce poste, vous pouvez remplacer "[Folder Destination] _" par un chemin comme suit:

"C:\\Some\\Path\\to\\File.txt" 

Notez la double barre oblique inverse !!

+0

La syntaxe ci-dessus génère uniquement HH (heure). Et si j'ai besoin de HHMMSEC (HourMinSec) ?? – goofyui