SQL Server 2005 Question:SQL Server: Découvrez ce que la ligne a provoqué la TSQL échec (SSIS)
Je travaille sur un projet de conversion de données où je prends 80k + lignes et en les déplaçant d'une table à un autre. Quand je lance le TSQL, il bombarde avec diverses erreurs liées à la conversion de types, ou peu importe. Y at-il un moyen de savoir quelle ligne a provoqué l'erreur?
=====================
MISE À JOUR:
je joue un INSERT INTO TABLE1 (...) SELECT. .. FROM TABLE2 Table2 est juste un tas de champs varchar où TABLE1 a les bons types.
Ce script sera placé dans un sproc et exécuté à partir d'un package SSIS. Le package SSIS importe d'abord 5 grands fichiers plats dans TABLE2.
Voici un exemple de message d'erreur: "La conversion d'un type de données char en un type de données datetime a abouti à une valeur de date-heure hors plage."
Il existe plusieurs champs de date. Dans TABLE2, il existe des valeurs de données telles que "02/05/1075" pour Birthdate. Je veux examiner chaque rangée qui cause l'erreur, ainsi je peux rapporter au département responsable des mauvaises données ainsi elles peuvent le corriger.
Pouvez-vous nous donner quelques exemples de l'erreur? Comment déplacez-vous les données, avec une instruction d'insertion ou des curseurs? À ma connaissance, il n'y a pas vraiment de fichier journal qui vous dira exactement quelle est l'erreur, mais peut-être qu'avec des messages d'erreur, nous pouvons vous orienter dans la bonne direction. – OhioDude
S'il vous plaît prêter plus d'attention à vos choix de balises. –
S'il s'agit d'un cast, il y a des fonctions ISNUMERIC et ISDATE pour aider à tester si une chaîne peut implicitement réussir la conversion en un nombre ou une date, respectivement. ISNUMERIC a cependant un défaut en ce qui concerne les virgules et les espaces, selon mon expérience. Mais oui, votre OP devrait être beaucoup plus précis sur les erreurs que vous rencontrez. –