|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Inscription : septembre 2008 Messages : 14 ![]() |
Bonjour,
Je suis en train d'essayer de convertir une base Access vers SQL Serveur 2008 Express. J'ai créé la nouvelle base dans SQL Serveur et j'utilise l'assistant "importer" sur cette derniere Lors de l'import, je me retrouve avec l'erreur suivante: Code :
Merci de votre aide |
||
|
|
00
|
|
|
#2 |
![]() ![]() ![]() Nicolas SouquetAdministrateur de base de données Inscription : janvier 2005 Messages : 4 670 ![]() |
Bonjour,
C'est peut-être une valeur de chaîne qui dépasse la longueur maximale de la colonne dans la table cible ... @++
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes. Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012 |
|
00
|
|
|
#3 |
|
Inscription : septembre 2008 Messages : 14 ![]() |
Oups, un oubli de ma part:
Il s'agit de type datetime Merci |
|
|
00
|
|
|
#4 |
![]() ![]() ![]() Nicolas SouquetAdministrateur de base de données Inscription : janvier 2005 Messages : 4 670 ![]() |
Dans ce cas il vous faut rechercher dans la base Access une donnée qui ne serait pas transtypable en type datetime de SQL Server.
Notez que vous pouvez exporter assez facilement le contenu de la table Access dans une fichier texte et le charger par BULK INSERT dans une table d'une base de données SQL Server. Si vous exportez seulement la colonne qui contient une valeur datetime dans une colonne de type varchar(20) par exemple, et que vous tentez un CAST(maColonne AS datetime), vous allez finir par trouver où cela coince @++
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes. Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012 |
|
00
|
|
|
#5 | ||||
|
Inscription : septembre 2008 Messages : 14 ![]() |
Merci,
J'ai essayé cet import en tant que varchar Dans mon assistant d'importation SQL Serveur, j'ai sélectionné ma table et dans la section "modifier les mappages", j'ai mis varchar comme type destination pour la colonne en question (d'ailleurs, je ne peux préciser la taille 20, il m'impose une taille "max") Je me retrouve avec les messages d'erreur suivants: Code :
Code :
Merci encore |
||||
|
|
00
|
|
|
#6 |
|
Expert Confirmé Sénior
![]() François Chef de projet NTIC Inscription : janvier 2007 Messages : 5 353 ![]() |
Oui, visiblement vous tentez de convertir un type Date (ou son équivalent Access) en type TimeStamp (réservé au versionning de row, qui n'a pas à être écrit directement). Forcer une conversion en type DateTime. (ou Date ? je ne me souviens plus et je n'ai pas de Sql Server sous la main).
Par ailleurs vérifier les bornes maxi et mini des dates en question quoique je ne pense pas qu'il y ait de ce coté une incompatibilité entre Sql Server et Access.
__________________
Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça... Une réponse vous a aidé ? utiliser le bouton "L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel |
|
|
00
|
|
|
#7 | |
|
Membre Expert
![]() |
Citation:
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir. |
|
|
|
00
|
|
|
#8 |
|
Inscription : septembre 2008 Messages : 14 ![]() |
Bonjour,
En fait, j'essaye de convertir un datetime (ligne 7) en varchar (ligne 16) Je ne sais pas d'où vient le type timestamp (ligne 8) car je n'ai rien configuré en ce sens. Je pense que c'est l'assistant d'import SQL Serveur qui fait sa sauce sans me demander mon avis. Vais je devoir me passer de l'assistant et rédiger le script d'import à la main ? |
|
|
00
|
|
|
#9 |
|
Inscription : septembre 2008 Messages : 14 ![]() |
Merci par avance à qui me donnera un petit coup de main
|
|
|
02
|
|
|
#10 |
![]() ![]() ![]() Nicolas SouquetAdministrateur de base de données Inscription : janvier 2005 Messages : 4 670 ![]() |
C'est donc que la colonne cible de la copie est une colonne de type varchar, qu'il suffit de changer en datetime
@++ ; )
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes. Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012 |
|
10
|
|
|
#11 | |
|
Inscription : septembre 2008 Messages : 14 ![]() |
Oui, c'est un varchar comme vous me l'avez conseillé dans votre post du 19
Citation:
Merci |
|
|
|
00
|
|
|
#12 | ||
![]() ![]() ![]() Nicolas SouquetAdministrateur de base de données Inscription : janvier 2005 Messages : 4 670 ![]() |
Je ne pense pas.
Transtypez donc la colonne cible en datetime : Code :
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes. Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012 |
||
|
00
|
|
|
#13 |
|
Inscription : septembre 2008 Messages : 14 ![]() |
Je vais donc créer ma table manuellement car jusqu'à maintenant, j'utilisais l'assistant d'import SQL Serveur pour créer automatiquement la table..
Je vous tiens au courant encore merci |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com