Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server > Outils
Outils Forum d'entraide sur les outils gravitant autour de MS-SQL Server, tels que bcp, TDS, ...
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/08/2004, 12h37   #1
slc
Membre à l'essai
 
Inscription : février 2003
Messages : 36
Détails du profil
Informations forums :
Inscription : février 2003
Messages : 36
Points : 24
Points : 24
Par défaut [Résolu] Import de date vers MSDE avec BCP

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)
slc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/08/2004, 13h00   #2
Rédacteur/Modérateur

 
Avatar de WOLO Laurent
 
Homme Laurent WOLO
Architecte de base de données
Inscription : mars 2003
Messages : 2 696
Détails du profil
Informations personnelles :
Nom : Homme Laurent WOLO
Âge : 35
Localisation : Congo-Brazzaville

Informations professionnelles :
Activité : Architecte de base de données
Secteur : Finance

Informations forums :
Inscription : mars 2003
Messages : 2 696
Points : 3 917
Points : 3 917
Envoyer un message via Yahoo à WOLO Laurent
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 !
WOLO Laurent est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/08/2004, 14h39   #3
slc
Membre à l'essai
 
Inscription : février 2003
Messages : 36
Détails du profil
Informations forums :
Inscription : février 2003
Messages : 36
Points : 24
Points : 24
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.
slc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/08/2004, 09h32   #4
slc
Membre à l'essai
 
Inscription : février 2003
Messages : 36
Détails du profil
Informations forums :
Inscription : février 2003
Messages : 36
Points : 24
Points : 24
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.
slc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/08/2004, 12h28   #5
Rédacteur/Modérateur

 
Avatar de WOLO Laurent
 
Homme Laurent WOLO
Architecte de base de données
Inscription : mars 2003
Messages : 2 696
Détails du profil
Informations personnelles :
Nom : Homme Laurent WOLO
Âge : 35
Localisation : Congo-Brazzaville

Informations professionnelles :
Activité : Architecte de base de données
Secteur : Finance

Informations forums :
Inscription : mars 2003
Messages : 2 696
Points : 3 917
Points : 3 917
Envoyer un message via Yahoo à WOLO Laurent
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 !
WOLO Laurent est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h02.


 
 
 
 
Partenaires

Hébergement Web