|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre à l'essai
![]() Inscription : février 2003 Messages : 36 ![]() |
Bonjour,
je doit migrer une base access vers MSDE. J'en suis au teste d'import et j'ai des soucis avec les dates. J'utilise bcp et un fichier de format pour importer un fichier texte. J'ai du utiliser le type SQLCHAR au lieu de SQLDATETIME pour ne pas avoir d'erreur. Quand j'importe une date avec l'année sur 2 digit, l'import se passe correctement. Mais avec 4 digit j'obtiens l'erreur : Démarrage de la copie... SQLState = 22008, NativeError = 0 Error = [Microsoft][ODBC SQL Server Driver]Format de date non valide Ma commande bcp : bcp BDD.dbo.Tb_DATE in y:\Tb_DATE.txt -fy:\Tb_DATE.fmt -SBR003031\MSDE -t\t -r\n -ey:\Tb_DATE.err La table de test : create table Tb_DATE ( DATE_Id numeric identity, DATE_Creation datetime null, constraint PK_TB_DATE primary key (DATE_Id) ) le fichier format : 8.0 2 1 SQLINT 0 4 "\t" 1 DATE_Id "" 2 SQLCHAR 0 20 "\t" 2 DATE_Creation French_CI_AS Le fichier d'import : 5 2001/15/02 Si quelqu'un a une idée (a par repasser un script pour vérifier les date) |
|
|
00
|
|
|
#2 |
![]() ![]() ![]() |
Travailler avec les données de types Dates est très délicat en SQL.
Je te recommande d'importer dans une table tempon ou la date sera en varchar(20) puis vous pourrez faire un scripte de copie de la table vers une autre ou le champs sera en datetime tout en oubliant pas de caster la colonne !!! C'est plus rassurant au lieu de perdre beaucoup de temps.
__________________
Découvrez la FAQ de MS SQL Server. La chance accorde ses faveurs aux esprits avertis ! |
|
|
00
|
|
|
#3 |
|
Membre à l'essai
![]() Inscription : février 2003 Messages : 36 ![]() |
Merci, je vais suivre ton conseil.
Je laisse le pb en non résolu au cas ou quelqu'un connaisse une autre methode d'ici demain. |
|
|
00
|
|
|
#4 |
|
Membre à l'essai
![]() Inscription : février 2003 Messages : 36 ![]() |
Pas de besoin de caster la colonne.
J'ai verifier quelle format de date la base acceptait (A/J/M pour moi). J'ai specifié ce format d'exportation de date dans Access et il suffit de faire un insert table select * from table_temp dans MSDE. |
|
|
00
|
|
|
#5 |
![]() ![]() ![]() |
L'important est que tu ais pu te tirer de l'affaire en utilisant quelques instructions.
Alors bonne chance !
__________________
Découvrez la FAQ de MS SQL Server. La chance accorde ses faveurs aux esprits avertis ! |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com