2010-12-08 22 views
3

Je suis en train de tester des packages SSIS et des procédures stockées car je ne suis qu'un débutant. Ce que je dois faire est d'utiliser une procédure stockée que j'ai installée sur une base de données source pour retourner un ensemble de données puis j'ai besoin d'un paquet ssis pour utiliser le dataset retourné par la procédure stockée comme source OLE DB pour remplir une deuxième table de destination.Utilisation de la procédure stockée en tant que source OLE DB dans BIDS

Fondamentalement j'ai 2 tables: - test_source - test_destination

test_source a une table intitulée sociétés avec 3 rangées - (ID, nom, établie). J'ai mis en place une procédure stockée (spGetCompanies) pour retourner tous les enregistrements de cette table dans un ensemble de résultats.

Ensuite, dans BIDS, j'ai un package SSIS qui prend des données de la table test_source (dans ce cas, le spGetCompanies SP) et l'insère dans la table test_destination.

Quelqu'un peut-il m'aider en me disant comment je peux utiliser la procédure spGetCompanies Stored comme source OLE DB?

Cian

Répondre

5

Assuminng vous avez configuré votre conenction de données, procédez comme suit:

  1. Double-cliquez sur votre OLEB Source
  2. Sélectionnez votre gestionnaire connexion élément
  3. Sélectionnez le mode d'accès aux données comme 'SQL Command'
  4. Entrez votre commande SQL pour exécuter votre SP (par exemple exec usp_myproc 1234).
  5. Cliquez sur 'Aperçu'. Votre dataset devrait être retourné.
  6. Cliquez sur 'Ok'

Fait

+0

Donc, si j'avais un titre de procédure stockée spGetCompanies j'aurais simplement mis la requête à: "EXEC spGetCompanies"? – cian1991ferrari

+0

Oui. L'option 'Preview' est très utile pour tester ceci. –

+0

Merci très très beaucoup James! Je l'ai essayé là et ça a l'air de marcher comme j'ai besoin! : D – cian1991ferrari

1

Il est pas toujours possible d'utiliser un proc stocké dans une source de données OLEDB, comme Jamie Thomson explique ici: https://web.archive.org/web/20141215063233/http://consultingblogs.emc.com/jamiethomson/archive/2005/12/09/2480.aspx

En fait, depuis sprocs ont pas de métadonnées associées, SSIS essaie de deviner les métadonnées en regardant dans le sproc et en saisissant la première instruction select. Cela peut être inexact, voire impossible (dans le cas d'une procédure SQL-CLR par exemple).

La réponse devrait être: si vous êtes chanceux, après avoir appuyé sur Aperçu, vous pouvez appuyer sur OK.

3

Vous pouvez essayer set FMTONLY off; avant exec sp. Travaillé pour moi :)