IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MS SQL Server Discussion :

Alter Table, avec un serveur Lié


Sujet :

MS SQL Server

  1. #1
    Futur Membre du Club
    Inscrit en
    Septembre 2002
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 20
    Points : 8
    Points
    8
    Par défaut Alter Table, avec un serveur Lié
    J´ai un probléme pour remplir un fichier excel á partir d´une table dans Sql server 2000 via un serveur lié.
    J´ai l´erreur suivante aprés la commande insert :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ODBC Error Code = 22001 (String data right truncation)
    [Microsoft][ODBC SQL Server Driver][SQL Server]String or binary data would be truncated
    Mon serveur lié est construit vers un fichier Exel ou j´ai défini une table en utilisant les "NOMS".
    l´erreur me dit que la structure d´une colonne de destination est trop petite, En faitte le champ ou je place des commentaires dans ma base SQL a une structure : nvarchar(2000) est lorsque je creer le serveur lié avec mon fichier excell de la facon suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    EXEC sp_addlinkedserver 'CFEExcelSource','','Microsoft.Jet.OLEDB.4.0','E:\Diirect\Export\Temp\Result.xls',NULL,'Excel 8.0'
    EXEC sp_addlinkedsrvlogin 'CFEExcelSource', FALSE, NULL, 'Admin', NULL
    Je me trouve avec nvarchar(250) pour la colone qui va aceuillir le commentaire. Mon probléme survient quand le commentaire dépasse les 250 caractéres.
    j´aimerai faire un alter table de la table creer dans mon serveur lié mais j´ai le message d´erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ALTER TABLE [CFEExcelSource]...Bitacora ALTER COLUMN Obs NVARCHAR(2000)
     
    The object name 'CFEExcelSource...' contains more than the maximum number of prefixes. The maximum is 2.
    Bitacora est la table creer avec mon serveur lié en utilisant les "NOMS" dans le fichier excell.
    merci de vos réponses

    Danisam

  2. #2
    Futur Membre du Club
    Inscrit en
    Septembre 2002
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 20
    Points : 8
    Points
    8
    Par défaut
    Puis je avoir une orientation de réponse ou doit je reformuler la question ?

    merci

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 434
    Points : 502
    Points
    502
    Par défaut
    Salut,

    as-tu essayer de lancer la commande complète à savoir :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ALTER TABLE [CFEExcelSource].NOMBASE.NOMUTILISATEURPROPIETAIRE.Bitacora ALTER COLUMN Obs NVARCHAR(2000)

  4. #4
    Futur Membre du Club
    Inscrit en
    Septembre 2002
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 20
    Points : 8
    Points
    8
    Par défaut
    j ái réalisé la commande complette avec le résultat suivant.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ALTER TABLE [CFEExcelSource].dbo.Bitacora ALTER COLUMN Obs NVARCHAR(2000) 
    Msg 4902, Level 16, State 1, Line 1
    Cannot alter table 'CFEExcelSource.dbo.Bitacora' because this table does not exist in database 'CFEExcelSource'.
    Et lorsque je fait un simple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from [CFEExcelSource]...Bitacora
    ca marche .....

    En faitte je voulais savoir si on peut réaliser un Alter Table sur une table d´un serveur Lié, á savoir un fichier Excell.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 434
    Points : 502
    Points
    502
    Par défaut
    Salut,

    ta commande alter n'est pas bonne.
    Tu as oublié le nom de la base.

    Il te faut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER NOMSERVER.NOMBASE.NOMUSER.NOMOBJET
    Or tu as mis le nom du server à la place du nom de la base.

  6. #6
    Futur Membre du Club
    Inscrit en
    Septembre 2002
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 20
    Points : 8
    Points
    8
    Par défaut
    En faitte je suis un peu confu avec les serveurs liés :

    [CFEExcelSource] est mon serveur lié donc Nomserveur

    [CFEExcelSource] est mon NOMBASE ????? c´est la que je ne sait pas. ou est ce que ma table est le nom de l´onglet dans mon fichier Excel qui contient l´objet Bitacora ?

    dbo est l´utilisateur qui creer le serveur lié donc NOMUSER

    Bitacora est un "NOM" dans mon fichier excel donc mon NOMOBJET

    la commande devrai être alors :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER TABLE [CFEExcelSource].[CFEExcelSource].dbo.Bitacora ALTER COLUMN Obs NVARCHAR(2000)

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 434
    Points : 502
    Points
    502
    Par défaut
    je sais pas .

  8. #8
    Futur Membre du Club
    Inscrit en
    Septembre 2002
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 20
    Points : 8
    Points
    8
    Par défaut
    Quand j´utilise la commande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER TABLE [CFEExcelSource].[Eventos].dbo.Bitacora ALTER COLUMN Obs NVARCHAR(2000)
    J´ai l´erreur suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    The object name 'CFEExcelSource.Eventos.dbo.' contains more than the maximum number of prefixes. The maximum is 2.

  9. #9
    Futur Membre du Club
    Inscrit en
    Septembre 2002
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 20
    Points : 8
    Points
    8
    Par défaut
    Je doit suposer qu´on ne peu pas inserer depuis SQL Server 2000 vía un serveur lié sur un fichier excel plus de 255 caractére dans une colonne ? même si on utilise le DTS pour réaliser ca, c ´est impossible, car déja essayé.

Discussions similaires

  1. [2012] Problème de conflit d'ALTER TABLE avec la contrainte FOREIGN KEY
    Par Caliimero dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 15/03/2014, 19h03
  2. Problème avec ALTER TABLE
    Par Philippe43 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 29/05/2007, 11h08
  3. Double requete avec alter table
    Par bdorbo dans le forum Requêtes
    Réponses: 3
    Dernier message: 04/05/2007, 06h57
  4. Pb Alter table move avec un champ type long
    Par rescue dans le forum Oracle
    Réponses: 8
    Dernier message: 18/08/2006, 13h28
  5. Renommer une colonne avec ALTER TABLE...
    Par David.V dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 01/07/2004, 10h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo