SSIS: types de données il suffit de ne pas obtenir des convertis de la chaîne

C'est ma première expérience dans SSIS et je vais juste les noix: RIEN ne FONCTIONNE.

(N'ayez pas peur de grand post: la plupart ne sont que des erreurs de sortie.)

J'en ai deux MS SQL DBs avec les mêmes champs et j'ai pour le transfert de la première, où tout est de type nvarchar(32) aka DT_WSTR, dans le second, où les types sont différents.

De données et de ses exemples:

"Timestamp" est "datetime2(7)" dans la destination et la source ressemble à la norme ISO 8601: 2013-12-19T00:00:00.000

"Valeur" est "réelle", les nombres avec la notation scientifique, exemples de test sont: 17e+10, 17.14, 17.14 e+5, 1715E+4, 1714

Et de quatre colonnes avec juste différent ints (bigint, bigint, tinyint, int).

Maintenant, pour ce que j'ai essayé (avertissement pour beaucoup de citations):

  • Colonne Dérivée. J'ai utilisé jette comme "(DT_DBTIMESTAMP2,7)" et "(DT_R4)la valeur". Je suis peut-être mauvais, mais je doute fort: je l'ai googlé, comme beaucoup, et la plupart des articles (comme cette) indique que je suis à droite.

Erreur: 0xC0049064 à Importer à partir de l'ODS à DWH, Dérivé de la Colonne [2]: Une erreur s'est produite lors de la tentative d'effectuer un type de fonte.

Erreur: 0xC0209029 à Importer à partir de l'ODS à DWH, Dérivé de la Colonne [2]: Code d'Erreur SSIS DTS_E_INDUCEDTRANSFORMFAILUREONERROR. La "Colonne Dérivée" a échoué car le code d'erreur 0xC0049064 eu lieu, et la disposition de ligne erreur sur "Colonne Dérivée.Sorties[Colonne Dérivée De Sortie].Les colonnes[timestamp]" indique un échec en cas d'erreur. Une erreur s'est produite sur l'objet spécifié du composant spécifié. Il peut y avoir des messages d'erreur affichés avant cela, avec plus d'informations à propos de la panne.

Erreur: 0xC0047022 à Importer à partir de l'ODS à DWH, SSIS.Pipeline: Code d'Erreur SSIS DTS_E_PROCESSINPUTFAILED. La méthode ProcessInput sur la composante "Colonne Dérivée" (2) a échoué avec le code d'erreur 0xC0209029 lors du traitement d'entrée "de la Colonne Dérivée d'Entrée" (3). L'élément identifié a retourné une erreur de la méthode ProcessInput. L'erreur est spécifique au composant, mais l'erreur est fatale et sera la cause de la tâche de Flux de Données pour arrêter l'exécution. Il peut y avoir des messages d'erreur affichés avant cela, avec plus d'informations à propos de la panne.
Erreur: 0xC02020C4 à Importer à partir de l'ODS à DWH, Source OLE DB [62]: La tentative d'ajouter une ligne à la tâche de Flux de Données de la mémoire tampon a échoué avec le code d'erreur 0xC0047020.

Erreur: 0xC0047038 à Importer à partir de l'ODS à DWH, SSIS.Pipeline: Code d'Erreur SSIS DTS_E_PRIMEOUTPUTFAILED. La méthode PrimeOutput sur la Source de données OLE DB a retourné le code d'erreur 0xC02020C4. Le composant a renvoyé un code d'erreur lorsque le moteur de pipeline a appelé PrimeOutput(). La signification du code d'erreur est défini par le composant, mais l'erreur est fatale et le pipeline arrêté d'exécution. Il peut y avoir des messages d'erreur affichés avant cela, avec plus d'informations à propos de la panne.

  • Explicitement le changement de formes dans la source (pour correspondre à la destination) et de la connecter directement à destination.

Erreur: 0xC020901C en Direct, Source OLE DB [32]: Il y a une erreur avec la Source de données OLE DB.Sorties[fournisseur OLE DB de Sortie de la Source].Les colonnes de[heure] sur la Source de données OLE DB.Sorties[fournisseur OLE DB de Sortie de la Source]. La colonne état renvoyé est: "La valeur n'a pas pu être converti en raison d'un risque de perte de données.".

Erreur: 0xC0209029 en Direct, Source OLE DB [32]: Code d'Erreur SSIS DTS_E_INDUCEDTRANSFORMFAILUREONERROR. La "Source de données OLE DB.Sorties[fournisseur OLE DB de Sortie de la Source].Les colonnes[temps]" a échoué car le code d'erreur 0xC0209072 eu lieu, et la disposition de ligne erreur sur "Source de données OLE DB.Sorties[fournisseur OLE DB de Sortie de la Source].Les colonnes de[heure]," indique un échec en cas d'erreur. Une erreur s'est produite sur l'objet spécifié du composant spécifié. Il peut y avoir des messages d'erreur affichés avant cela, avec plus d'informations à propos de la panne.

Erreur: 0xC0047038 en Direct, SSIS.Pipeline: Code d'Erreur SSIS DTS_E_PRIMEOUTPUTFAILED. La méthode PrimeOutput sur la Source de données OLE DB a retourné le code d'erreur 0xC0209029. Le composant a renvoyé un code d'erreur lorsque le moteur de pipeline a appelé PrimeOutput(). La signification du code d'erreur est défini par le composant, mais l'erreur est fatale et le pipeline arrêté d'exécution. Il peut y avoir des messages d'erreur affichés avant cela, avec plus d'informations à propos de la panne.

  • La Conversion Des Données. Même résultat: l'échec.

Erreur: 0xC02020C5 à la Conversion, la Conversion de Données [2]: la conversion de Données a échoué lors de la conversion de la colonne "temps" (74) à la colonne "Copie des temps" (11). La conversion renvoyé la valeur d'état 2 et le statut du texte "La valeur n'a pas pu être converti en raison d'un risque de perte de données.".

Erreur: 0xC0209029 à la Conversion, la Conversion de Données [2]: Code d'Erreur SSIS DTS_E_INDUCEDTRANSFORMFAILUREONERROR. La "Conversion Des Données.Sorties[De Conversion De Données De Sortie].Les colonnes[Copie de l'heure]" a échoué car le code d'erreur 0xC020907F eu lieu, et la disposition de ligne erreur sur "la Conversion des Données.Sorties[De Conversion De Données De Sortie].Les colonnes[Copie de l'heure]" indique un échec en cas d'erreur. Une erreur s'est produite sur l'objet spécifié du composant spécifié. Il peut y avoir des messages d'erreur affichés avant cela, avec plus d'informations à propos de la panne.

Erreur: 0xC0047022 à la Conversion, de la SSIS.Pipeline: Code d'Erreur SSIS DTS_E_PROCESSINPUTFAILED. La méthode ProcessInput sur le volet "Conversion de Données" (2) a échoué avec le code d'erreur 0xC0209029 lors du traitement d'entrée "de la Conversion de Données d'Entrée" (3). L'élément identifié a retourné une erreur de la méthode ProcessInput. L'erreur est spécifique au composant, mais l'erreur est fatale et sera la cause de la tâche de Flux de Données pour arrêter l'exécution. Il peut y avoir des messages d'erreur affichés avant cela, avec plus d'informations à propos de la panne.

Erreur: 0xC02020C4 à la Conversion, de la Source de données OLE DB [62]: La tentative d'ajouter une ligne à la tâche de Flux de Données de la mémoire tampon a échoué avec le code d'erreur 0xC0047020.

Erreur: 0xC0047038 à la Conversion, de la SSIS.Pipeline: Code d'Erreur SSIS DTS_E_PRIMEOUTPUTFAILED. La méthode PrimeOutput sur la Source de données OLE DB a retourné le code d'erreur 0xC02020C4. Le composant a renvoyé un code d'erreur lorsque le moteur de pipeline a appelé PrimeOutput(). La signification du code d'erreur est défini par le composant, mais l'erreur est fatale et le pipeline arrêté d'exécution. Il peut y avoir des messages d'erreur affichés avant cela, avec plus d'informations à propos de la panne.

Alors maintenant, j'ai juste couru hors d'outils et d'idées sur la façon de le faire: la plupart des instructions simplement dire quelque chose comme "carte de ce qui fonctionne". Je suis aux prises avec ce si dur et si longtemps, j'ai même créé un StackExchange compte pour cela. Toute aide appréciée. Des acclamations.

  • J'ai utilisé pour se plaindre de Pentaho....jusqu'à ce que je commencé à utiliser SSIS/SSDT.
InformationsquelleAutor user3549056 | 2014-04-18