|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||
|
Candidat au titre de Membre du Club
![]() Consultant en Business Intelligence Inscription : mars 2011 Messages : 26 ![]() |
Bonjour et merci d'avance pour votre aide,
Avant tout, Je précise que je simplifie le problème pour une meilleur compréhension : Alors, je me trouve dans une impasse. J'ai une base de données SQL Server 2008 dans laquelle se trouve une table : Code :
Code :
123;01/09/11 00:00:00,000000000;15/09/11 00:00:00,000000000;20/09/11 00:00:00,000000000 Code :
Code :
- datetime : marche pas - timestamp : marche pour DATE1 et le problème se décale à DATE2. Si je mets tout en timestamp, une erreur me dit que je n'ai droit qu'à un seul timestamp. Je suis donc bloqué. Je pense que la solution serai de pouvoir, à la création de la base, préciser le format de la date qui va être passé lors de l'INSERT. un format de type jj/mm/aa hh:mm:ss,ms Quelqu'un peut-il m'aider ? Merci |
||||||
|
|
00
|
|
|
#2 |
![]() ![]() Alexandre ChemlaConsultant en Business Intelligence Inscription : février 2006 Messages : 1 773 ![]() |
Dans mes souvenirs le BULK fonctionne également avec un fichier .fmt qui permet de définir le format d'entrée du fichier.. a voir de ce côté peut-être.
Sinon, SSIS c'est bien aussi pour faire de l'insert de masse.
__________________
Alexandre Chemla - Consultant MS BI chez Masao |
|
|
00
|
|
|
#3 | |||||||
|
Membre Expert
![]() ![]() |
Citation:
Mais le vrai problème c'est que tes colonnes sont de type DATE et veux insérer une valeur du genre 01/09/11 00:00:00,000000000 Lis ceci au fait la virgule qu'il y a là représente quoi ? une date c'est au format AAAA-MM-JJ Si tu es dans l'urgence alors créer une table temporaire en remplaçant les types DATE par varchar (50) et charge les données du fichier dans cette table temporaire et après tu te débrouille pour charger la table TableDate avec quelque du genre et des CAST, SUBSTRING , ... Code :
|
|||||||
|
00
|
|
|
#4 |
|
Candidat au titre de Membre du Club
![]() Consultant en Business Intelligence Inscription : mars 2011 Messages : 26 ![]() |
Merci,
Je dois finir ce point demain soir, ordre du chef ! Je suis chez moi la, j'ai bien lu vos posts, je reviens vers vous des demain. Bonne soiré, merci encore |
|
|
00
|
|
|
#5 |
|
Membre Expert
![]() |
Le ne fonctionne pas avec BULKINSERT?
Jamais essayé...
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir. |
|
|
00
|
|
|
#6 | ||
|
Candidat au titre de Membre du Club
![]() Consultant en Business Intelligence Inscription : mars 2011 Messages : 26 ![]() |
Citation:
Citation:
Sinon, je poursuit les tests sur fichier .fmt et SET DATEFORMAT='ymd' merci à vous |
||
|
|
00
|
|
|
#7 | ||||||
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 959 ![]() |
Essayez :
Code :
Code :
Code :
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/ Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp. Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * * |
||||||
|
00
|
|
|
#8 | ||
|
Candidat au titre de Membre du Club
![]() Consultant en Business Intelligence Inscription : mars 2011 Messages : 26 ![]() |
SQL Pro, merci pour ton aide, c'est vrai que le plus important était de modifier le champ date pour que SQL Server comprenne le format.
Je cherchais trop à résoudre le problème coté insertion alors que c'était plus simple de modifier le select qui créé le CSV. J'ai donc contacté la personne qui me fournissé le CSV en lui demandant d'appliquer pour chaque champ la logique suivante : Code :
Bonne semaine |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com