Import date Excel / SQL Server
Résolu/Fermé
Alexandre
-
9 avril 2021 à 14:21
yg_be Messages postés 23399 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 17 décembre 2024 - 9 avril 2021 à 18:02
yg_be Messages postés 23399 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 17 décembre 2024 - 9 avril 2021 à 18:02
A voir également:
- 0xc0047022
- Liste déroulante excel - Guide
- Si et excel - Guide
- Aller à la ligne excel - Guide
- Trier par date excel - Guide
- Word et excel gratuit - Guide
2 réponses
yg_be
Messages postés
23399
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 décembre 2024
Ambassadeur
1 556
9 avril 2021 à 15:03
9 avril 2021 à 15:03
bonjour,
peux-tu donner un exemple? veux-tu simplement supprimer la partie heure de la date?
le format, dans Excel, ne change rien à la valeur exportée.
je pense qu'il suffit de tronquer les données dans Excel pour supprimer la fraction de journée.
peux-tu donner un exemple? veux-tu simplement supprimer la partie heure de la date?
le format, dans Excel, ne change rien à la valeur exportée.
je pense qu'il suffit de tronquer les données dans Excel pour supprimer la fraction de journée.
Bonjour, merci pour ta réponse.
Les données que je veux importer sont pourtant des jours sans heure. En version décimal, ce sont des valeurs entières.
Quand je fais l'import dans SQL, pour une date du 3 mars 2021, à la place de 2021-03-01, j'ai 2021-03-01 00:00:00
Il écrit l'heure (minuit pile) alors qu'à aucun moment une heure n'est précisé sur Excel.
Les données que je veux importer sont pourtant des jours sans heure. En version décimal, ce sont des valeurs entières.
Quand je fais l'import dans SQL, pour une date du 3 mars 2021, à la place de 2021-03-01, j'ai 2021-03-01 00:00:00
Il écrit l'heure (minuit pile) alors qu'à aucun moment une heure n'est précisé sur Excel.
yg_be
Messages postés
23399
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 décembre 2024
1 556
9 avril 2021 à 15:29
9 avril 2021 à 15:29
SQL Server donne un message d'erreur?
Alexandre
>
yg_be
Messages postés
23399
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 décembre 2024
9 avril 2021 à 16:28
9 avril 2021 à 16:28
Oui j'ai ces messages la :
Ils ont d'ailleurs changés, avant ils me parlaient du format date mais j'ai pas l'impression de retrouver le même message que précédemment, j'en suis encore plus perdu du coup.
ALZONNE et 20210301 correspondent aux valeur de ma première ligne à importer (1ere et dernière colonne). Le format datetime qui doit être date est à la 2e colonne
Copie vers [dbo].[ProductionExecuted] (Erreur)
Messages
Erreur 0xc0202009: Tâche de flux de données 1: Code d'erreur SSIS DTS_E_OLEDBERROR. Une erreur OLE DB s'est produite. Code d'erreur : 0x80004005.
Un enregistrement OLE DB est disponible. Source : « Microsoft OLE DB Provider for SQL Server » Hresult : 0x80004005 Description : « The statement has been terminated. ».
Un enregistrement OLE DB est disponible. Source : « Microsoft OLE DB Provider for SQL Server » Hresult : 0x80004005 Description : « Violation of PRIMARY KEY constraint 'PK_ProductionExecuted'. Cannot insert duplicate key in object 'dbo.ProductionExecuted'. The duplicate key value is (ALZONNE, 20210301). ».
(Assistant Importation et Exportation SQL Server)
Erreur 0xc0209029: Tâche de flux de données 1: Code d'erreur SSIS DTS_E_INDUCEDTRANSFORMFAILUREONERROR. Échec de l'objet « Destination - ProductionExecuted.Entrées[Destination Input] » en raison du code d'erreur 0xC020907B. En outre, la disposition de la ligne d'erreur sur « Destination - ProductionExecuted.Entrées[Destination Input] » spécifie un échec sur l'erreur. Une erreur s'est produite sur l'objet spécifié du composant spécifié. Des messages d'erreur peuvent être envoyés au préalable avec des informations indiquant la raison de l'échec.
(Assistant Importation et Exportation SQL Server)
Erreur 0xc0047022: Tâche de flux de données 1: Code d'erreur SSIS DTS_E_PROCESSINPUTFAILED. La méthode ProcessInput du composant « Destination - ProductionExecuted » (26) a échoué avec le code d'erreur 0xC0209029 pendant le traitement de l'entrée « Destination Input » (39). Le composant identifié a retourné une erreur de la méthode ProcessInput. Cette erreur, spécifique au composant, est irrécupérable et provoquera l'arrêt de la tâche de flux de données. Des messages d'erreur peuvent être envoyés au préalable avec des informations indiquant la raison de l'échec.
(Assistant Importation et Exportation SQL Server)
Merci pour ton temps
Ils ont d'ailleurs changés, avant ils me parlaient du format date mais j'ai pas l'impression de retrouver le même message que précédemment, j'en suis encore plus perdu du coup.
ALZONNE et 20210301 correspondent aux valeur de ma première ligne à importer (1ere et dernière colonne). Le format datetime qui doit être date est à la 2e colonne
Copie vers [dbo].[ProductionExecuted] (Erreur)
Messages
Erreur 0xc0202009: Tâche de flux de données 1: Code d'erreur SSIS DTS_E_OLEDBERROR. Une erreur OLE DB s'est produite. Code d'erreur : 0x80004005.
Un enregistrement OLE DB est disponible. Source : « Microsoft OLE DB Provider for SQL Server » Hresult : 0x80004005 Description : « The statement has been terminated. ».
Un enregistrement OLE DB est disponible. Source : « Microsoft OLE DB Provider for SQL Server » Hresult : 0x80004005 Description : « Violation of PRIMARY KEY constraint 'PK_ProductionExecuted'. Cannot insert duplicate key in object 'dbo.ProductionExecuted'. The duplicate key value is (ALZONNE, 20210301). ».
(Assistant Importation et Exportation SQL Server)
Erreur 0xc0209029: Tâche de flux de données 1: Code d'erreur SSIS DTS_E_INDUCEDTRANSFORMFAILUREONERROR. Échec de l'objet « Destination - ProductionExecuted.Entrées[Destination Input] » en raison du code d'erreur 0xC020907B. En outre, la disposition de la ligne d'erreur sur « Destination - ProductionExecuted.Entrées[Destination Input] » spécifie un échec sur l'erreur. Une erreur s'est produite sur l'objet spécifié du composant spécifié. Des messages d'erreur peuvent être envoyés au préalable avec des informations indiquant la raison de l'échec.
(Assistant Importation et Exportation SQL Server)
Erreur 0xc0047022: Tâche de flux de données 1: Code d'erreur SSIS DTS_E_PROCESSINPUTFAILED. La méthode ProcessInput du composant « Destination - ProductionExecuted » (26) a échoué avec le code d'erreur 0xC0209029 pendant le traitement de l'entrée « Destination Input » (39). Le composant identifié a retourné une erreur de la méthode ProcessInput. Cette erreur, spécifique au composant, est irrécupérable et provoquera l'arrêt de la tâche de flux de données. Des messages d'erreur peuvent être envoyés au préalable avec des informations indiquant la raison de l'échec.
(Assistant Importation et Exportation SQL Server)
Merci pour ton temps
yg_be
Messages postés
23399
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 décembre 2024
1 556
>
Alexandre
9 avril 2021 à 16:38
9 avril 2021 à 16:38
si je lis bien, la partie "utile" du message d'erreur est:
Cela semble plutôt indiquer qu'on essaie de créer un enregistrement ayant les mêmes valeurs, pour les deux premiers champs, qu'un enregistrement existant, ce qui, vu la définition de la table ProductionExecuted, est interdit.
« Violation of PRIMARY KEY constraint 'PK_ProductionExecuted'. Cannot insert duplicate key in object 'dbo.ProductionExecuted'. The duplicate key value is (ALZONNE, 20210301).
Cela semble plutôt indiquer qu'on essaie de créer un enregistrement ayant les mêmes valeurs, pour les deux premiers champs, qu'un enregistrement existant, ce qui, vu la définition de la table ProductionExecuted, est interdit.
Alexandre
>
yg_be
Messages postés
23399
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 décembre 2024
9 avril 2021 à 17:13
9 avril 2021 à 17:13
C'est vrai que ce que tu me dis me semble tout à fait cohérent, une clé primaire doit être unique. Le problème serait alors dans la construction de la table mais ce qui est bizarre alors c'est que dans cette tables j'ai plusieurs milliers de lignes qui se réfèrent à seulement une centaine de noms (j'ai plusieurs dizaines de lignes avec pour nom de site ALZONNE alors que Site est une clé primaire).
En tout cas tu fais avancer ma réflexion donc merci
En tout cas tu fais avancer ma réflexion donc merci
Alexandre
>
yg_be
Messages postés
23399
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 décembre 2024
9 avril 2021 à 17:34
9 avril 2021 à 17:34
Ah j'ai trouvé c'est bon ! Merci beaucoup tu avais raison.
En fait dans un premier temps j'avais un problème de format de date et j'avais lu le message d'erreur qui me donnait mon erreur de date. Ensuite, j'ai créé un fichier annexe pour faire des tests avec 2/3 valeurs (simples à supprimer en cas de doublon d'ajout par exemple) et j'ai fait mes modif Power Query et je pense que ça a résolu le problème.
Cependant, dans mon fichier test avec 2/3 valeurs au pif, j'avais ce fameux Alzonne du 1er mars et il se trouve que dans la base il y a déjà un Alzonne du 1er mars (les 2 colonnes sont clés primaires donc je peux ajouter de nouveaux Alzonne et de nouveaux 1er mars mais pas les 2 en même temps).
Sauf que je pensais connaître l'erreur, je ne la relisais pas alors qu'elle avait changer.
Je vais ré essayé avec mon fichier de base et non mon fichier test mais ça semble fonctionner merci à toi.
En fait dans un premier temps j'avais un problème de format de date et j'avais lu le message d'erreur qui me donnait mon erreur de date. Ensuite, j'ai créé un fichier annexe pour faire des tests avec 2/3 valeurs (simples à supprimer en cas de doublon d'ajout par exemple) et j'ai fait mes modif Power Query et je pense que ça a résolu le problème.
Cependant, dans mon fichier test avec 2/3 valeurs au pif, j'avais ce fameux Alzonne du 1er mars et il se trouve que dans la base il y a déjà un Alzonne du 1er mars (les 2 colonnes sont clés primaires donc je peux ajouter de nouveaux Alzonne et de nouveaux 1er mars mais pas les 2 en même temps).
Sauf que je pensais connaître l'erreur, je ne la relisais pas alors qu'elle avait changer.
Je vais ré essayé avec mon fichier de base et non mon fichier test mais ça semble fonctionner merci à toi.