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 :

Insérer données dans colonne type Image


Sujet :

MS SQL Server

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 343
    Par défaut Insérer données dans colonne type Image
    Bonjour,

    Je travaille sur SQL Server 2000, et j'essaye d'insérer des données dans une colonne de type Image:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    CREATE TABLE JoueuseTennis
    (
    mon_nom nvarchar(60), 
    ma_photo image
    )
     
    GO 
     
    INSERT INTO JoueuseTennis(mon_nom, ma_photo ) 
       SELECT '\\euisafr035\WhoIsWho\00D761A7.jpg' AS FileName, 
       * FROM OPENROWSET(BULK N'\\euisafr035\WhoIsWho\00D761A7.jpg', SINGLE_BLOB) AS ma_photo
     
    GO
     
    SELECT * FROM JoueuseTennis
     
    GO
    Seulement voilà, on m'indique une erreur de syntaxe au niveau du BULK.

    Merci de m'aider!

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 002
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 22 002
    Billets dans le blog
    6
    Par défaut
    OPENROWSET / BULK n'est supporté qu'a partir de la version 2005 il me semble...

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 343
    Par défaut
    Citation Envoyé par SQLpro Voir le message
    OPENROWSET / BULK n'est supporté qu'a partir de la version 2005 il me semble...

    A +
    D'accord, alors justement comment insérer une image pour la version 2000?
    (d'ailleurs à partir de la version 2005, le type image n'existe plus je crois, et il faut prendre varbinary(max) à la place)

    Merci!

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 002
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 22 002
    Billets dans le blog
    6
    Par défaut
    En utilisant la méthode WRITETEXT.

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 343
    Par défaut
    Citation Envoyé par SQLpro Voir le message
    En utilisant la méthode WRITETEXT.

    A +
    Merci pour l'info, ça m'aide, mais gloups je fais des recherches sur internet pour trouver un modèle d'utilisation de cette fonction, mais pas moyen de trouver...

    Aurais-tu un exemple sous la main?
    Merci

  6. #6
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Par défaut
    Bonjour,

    Elle est encore documentée : Un petit coup d'œil

    Notez que la documentation de SQL Server 2000 est téléchargeable à partir du lien dans ma signature

    @++

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 343
    Par défaut
    Ben voilà, j'utilise le code en question, et ça donne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    WRITETEXT JoueuseTennis.ma_photo '\\euisafr035\WhoIsWho\00D761A7.jpg'
    J'ai toujours un problème de syntaxe, et je n'ai pas inséré le champ de ma première colonne en plus.
    Bref cette doc ne m'avance pas...

    Mais merci de m'aider!

  8. #8
    Membre chevronné Avatar de agemis31
    Profil pro
    DBA
    Inscrit en
    Octobre 2007
    Messages
    399
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : DBA

    Informations forums :
    Inscription : Octobre 2007
    Messages : 399
    Par défaut
    Bonjour,

    Que dire de plus. Je suis certain qu'en relisant la doc dont elsuket vous à donné l'url, vous noterez les deux points suivants:

    text_ptr
    Valeur qui stocke le pointeur des données text, ntext ou image. text_ptr doit être de type binary(16). Pour créer un pointeur de texte, exécutez une instruction INSERT ou UPDATE avec des données non NULL pour la colonne text, ntext ou image.
    Pour que l'instruction WRITETEXT fonctionne correctement, la colonne doit déjà contenir un pointeur de texte valide.
    @+

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 343
    Par défaut
    Bon j'avance, j'ai fait ça, mais je ne comprends pas trop, et du coup je ne suis pas sûr que ce soit bon, bien qu'aucune erreur ne me soit retournée:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    CREATE TABLE JoueuseTennis
    (
    mon_nom nvarchar(60), 
    ma_photo image
    )
     
    go
     
    insert into JoueuseTennis
    (mon_nom, ma_photo)
    values ('safina', '\\euisafr035\WhoIsWho\00D761A7.jpg')
     
    select * from JoueuseTennis
     
    go
     
    DECLARE @ptrval binary(16);
    SELECT @ptrval = TEXTPTR(ma_photo) 
    FROM JoueuseTennis
    WHERE mon_nom = 'safina'
     
    select @ptrval
     
    WRITETEXT JoueuseTennis.ma_photo @ptrval N'\\euisafr035\WhoIsWho\00D761A7.jpg'
     
    GO
     
    SELECT * FROM JoueuseTennis
     
    GO
    Si quelqu'un peut prendre un peu de temps pour m'expliquer?
    Merci

  10. #10
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 002
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 22 002
    Billets dans le blog
    6
    Par défaut
    Il faut que vous obteniez le flux binaire correspondant au contenu du fichier par un moyen de votre choix.

    Exemple en .net :
    http://www.eggheadcafe.com/articles/20030624.asp

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  11. #11
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 343
    Par défaut
    je suis effectivement passé par un développement C# pour faire mon insertion de type image en base.

    merci de m'avoir aidé!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Formulaire pour insérer données dans la base de données
    Par samou38 dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 11/07/2009, 15h56
  2. [Oracle] insertion heure dans colonne type date
    Par erox44 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 24/04/2008, 21h03
  3. Insérer données dans une table
    Par latrik dans le forum Windows Forms
    Réponses: 0
    Dernier message: 13/09/2007, 17h00
  4. Insérer données dans structure différente
    Par guigui11 dans le forum Access
    Réponses: 2
    Dernier message: 18/09/2006, 16h31
  5. insérer donnée dans un doc. word.
    Par roots_man dans le forum ASP
    Réponses: 5
    Dernier message: 20/12/2004, 13h09

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