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 :

introduire un fichier son dans ma base


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Février 2006
    Messages
    231
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 231
    Par défaut introduire un fichier son dans ma base
    j'ai un fichier son (mp3) et j'aimerai bien savoir comment l'introduire dans ma base.sachant que la table dont je veux inserré le fichier son est composé de 3 champs de type 'char' et un champ de type 'image' qui est réservé pour ce fichier son.

  2. #2
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Congo-Brazzaville

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

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Par défaut
    Il faut recourir à une couche applicative externe comme ADO.
    SQL Serveur 2000 n'intègre pas cette fonctionalité en natif.
    Sous Quel systeme de programmation utilisez-vous ?(VB,Delphi,C#,C++....)

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

  3. #3
    Membre éclairé
    Inscrit en
    Février 2006
    Messages
    231
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 231
    Par défaut introduire un fichier son dans ma base
    je travaille sous VB6.(mais est-ce que je peux pas importer les fichiers sons avec sql server 2000).

  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 010
    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 010
    Billets dans le blog
    6
    Par défaut
    Il faut utiliser les méthodes WRITETEXT, UPDATETEXT et READTEXT

    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
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Congo-Brazzaville

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

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Par défaut
    Si ca vous interesse toujours de le faire sous VB,
    Voici le code :
    Une procédure qui permet de charger la table
    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    Private Sub cmdAjouter_Click()
        Dim cmd As New ADODB.Command
        Dim prmPAS_CODE As ADODB.Parameter
        Dim prmTPA_LIBELLE As ADODB.Parameter
        Dim prmSEX_LIBELLE As ADODB.Parameter
        Dim prmPER_NOM As ADODB.Parameter
        Dim prmPER_PRENOM As ADODB.Parameter
        Dim prmPER_NE_LE As ADODB.Parameter
        Dim prmPER_NE_A As ADODB.Parameter
        Dim prmNAT_LIBELLE As ADODB.Parameter
        Dim prmPAS_CHEVEUX As ADODB.Parameter
        Dim prmPAS_YEUX As ADODB.Parameter
        Dim prmPAS_TAILLE As ADODB.Parameter
        Dim prmPAS_SIGNE As ADODB.Parameter
        Dim prmPAS_FONCTION As ADODB.Parameter
        Dim prmIMG_PHOTO As ADODB.Parameter
        Dim prmIMG_SIGNATURE As ADODB.Parameter
        Dim prmIMG_SIGN_AUT As ADODB.Parameter
        Dim prmPAS_FAIT As ADODB.Parameter
        Dim prmPAS_EXP As ADODB.Parameter
        Dim prmOPE_ID As ADODB.Parameter
        Dim prmPAS_AUTORITE As ADODB.Parameter
        Dim prmPAS_ADRESSE As ADODB.Parameter
     
        If CheckValue = 1 Then
            rep = MsgBox(gcMsgInsertRequest, vbYesNo + vbQuestion)
            If rep = vbYes Then
                If blnConnection Then
                    On Error GoTo ErrHandler
                    'Configurer la commande
                    Set cmd.ActiveConnection = gcn
                    cmd.CommandText = "SP_PASSEPORTV2_ADD"
                    cmd.CommandType = adCmdStoredProc
                    '**********Mise en place des paramètres**********
     
                    'Numero d'enregistrement du passeport
                    Set prmPAS_CODE = cmd.CreateParameter("PAS_CODE", adVarChar, adParamInput, 30, Trim(txtCode))
                    cmd.Parameters.Append prmPAS_CODE
                    'Le type de passeport
                    Set prmTPA_LIBELLE = cmd.CreateParameter("TPA_LIBELLE", adVarChar, adParamInput, 30, Trim(cmbTypePassePort))
                    cmd.Parameters.Append prmTPA_LIBELLE
                    'Le sexe du détenteur du passeport
                    Set prmSEX_LIBELLE = cmd.CreateParameter("SEX_LIBELLE", adVarChar, adParamInput, 30, cmbSexe)
                    cmd.Parameters.Append prmSEX_LIBELLE
     
                    'Le nom du détenteur
                    Set prmPER_NOM = cmd.CreateParameter("PER_NOM", adVarChar, adParamInput, 100, Trim(txtNom(0).Text))
                    cmd.Parameters.Append prmPER_NOM
                    'Le prénom du détenteur
                    Set prmPER_PRENOM = cmd.CreateParameter("PER_PRENOM", adVarChar, adParamInput, 100, Trim(txtPrenom(0).Text))
                    cmd.Parameters.Append prmPER_PRENOM
                    'La date de naissance
                    Set prmPER_NE_LE = cmd.CreateParameter("PER_NE_LE", adDBTimeStamp, adParamInput, , dtpNeLe.Item(0))
                    cmd.Parameters.Append prmPER_NE_LE
                    'Le lieu de naissance
                    Set prmPER_NE_A = cmd.CreateParameter("PER_NE_A", adVarChar, adParamInput, 100, Trim(txtLieu(0).Text))
                    cmd.Parameters.Append prmPER_NE_A
                    'La nationalité
                    Set prmNAT_LIBELLE = cmd.CreateParameter("NAT_LIBELLE", adVarChar, adParamInput, 100, Trim(cmbNationalité))
                    cmd.Parameters.Append prmNAT_LIBELLE
                    'Fonction du détenteur
                    Set prmPAS_FONCTION = cmd.CreateParameter("PAS_FONCTION", adVarChar, adParamInput, 100, Trim(txtFonction))
                    cmd.Parameters.Append prmPAS_FONCTION
                    'La couleur des chéveux
                    Set prmPAS_CHEVEUX = cmd.CreateParameter("PAS_CHEVEUX", adVarChar, adParamInput, 50, Trim(txtCoulCheveux))
                    cmd.Parameters.Append prmPAS_CHEVEUX
                    'La couleur des chéveux
                    Set prmPAS_YEUX = cmd.CreateParameter("PAS_YEUX", adVarChar, adParamInput, 50, Trim(txtCoulYeux))
                    cmd.Parameters.Append prmPAS_YEUX
                    'la Taille
                    Set prmPAS_TAILLE = cmd.CreateParameter("PAS_TAILLE", adVarChar, adParamInput, 16, txtTaille)
                    cmd.Parameters.Append prmPAS_TAILLE
                    'Signes particuliers
                    Set prmPAS_SIGNE = cmd.CreateParameter("PAS_SIGNE", adVarChar, adParamInput, 100, Trim(txtSigne))
                    cmd.Parameters.Append prmPAS_SIGNE
                    'La photo de l'identifiant
                    Set prmIMG_PHOTO = cmd.CreateParameter("IMG_PHOTO", adVarBinary, adParamInput, MAX_IMAGE_SIZE)
                    ImageInParam img(0).Tag, prmIMG_PHOTO
                    cmd.Parameters.Append prmIMG_PHOTO
     
                    'Fait le
                    Set prmIDE_FAIT = cmd.CreateParameter("IDE_FAIT", adDBTimeStamp, adParamInput, , dtpFaitLe.Value)
                    cmd.Parameters.Append prmIDE_FAIT
     
                    'Expire le
                    Set prmIDE_EXP = cmd.CreateParameter("IDE_EXP", adDBTimeStamp, adParamInput, , dtpExp.Value)
                    cmd.Parameters.Append prmIDE_EXP
     
                    'Opérateur
                    Set prmOPE_ID = cmd.CreateParameter("OPE_ID", adInteger, adParamInput, , USER.OPE_CLI_ID)
                    cmd.Parameters.Append prmOPE_ID
                    'ADRESSE DU CLIENT
                    Set prmPAS_ADRESSE = cmd.CreateParameter("PAS_ADRESSE", adVarChar, adParamInput, 100, Trim(Text1.Text))
                    cmd.Parameters.Append prmPAS_ADRESSE
                    On Error GoTo ErrHandler
                    cmd.Execute
                    MsgBox gcMsgInsertSucces, vbInformation
                    InitValue
                End If
            End If
        End If
        Exit Sub
    ErrHandler:
        MsgBox Err.Description
    End Sub
    La procédure qui lit un fichier image pour remplir le flux binaire dans un parametre 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
    19
    20
    21
    22
    23
    24
    25
    Private Sub ImageInParam(strFile As String, prm As ADODB.Parameter)
        Dim bytChunk() As Byte 'Les données en binaire
        Dim NumFich As Long 'Numero de fichier à ouvrir
        Dim TailleFichier As Long 'Taille du fichier en octet
        Dim offset As Long 'Le pas de lecture
        Dim Reste As Long  'Reste
        Const TailleBloc As Long = 4096
     
        NumFich = FreeFile
        Open strFile For Binary As #NumFich
        TailleFichier = LOF(NumFich)
        Reste = TailleFichier Mod TailleBloc
        If Reste > 0 Then
            ReDim bytChunk(Reste)
            Get #NumFich, , bytChunk
            prm.AppendChunk bytChunk
        End If
        offset = Reste
        Do While offset < TailleFichier
            ReDim bytChunk(TailleBloc)
            Get #NumFich, , bytChunk
            prm.AppendChunk bytChunk
            offset = offset + TailleBloc
        Loop
    End Sub
    Bonne chance.

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

  6. #6
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Congo-Brazzaville

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

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Par défaut
    Citation Envoyé par SQLpro
    Il faut utiliser les méthodes WRITETEXT, UPDATETEXT et READTEXT

    A +
    Citation Envoyé par Aide MS SQL Serveur 2005
    Cette fonctionnalité sera supprimée dans une prochaine version de Microsoft SQL Server. Évitez d'utiliser cette fonctionnalité dans de nouveaux travaux de développement, et prévoyez de modifier les applications qui utilisent actuellement cette fonctionnalité. La fonctionnalité alternative n'est pas disponible.
    Il faut remplacer le type image par varbinary(max) et éviter les trois fonctions citées plus haut

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

Discussions similaires

  1. intégrer un fichier image dans une base de donnée?
    Par Lody dans le forum Requêtes
    Réponses: 9
    Dernier message: 16/03/2006, 19h08
  2. Import fichier ASCII dans une base
    Par pithier dans le forum Bases de données
    Réponses: 3
    Dernier message: 01/02/2005, 19h03
  3. Réponses: 3
    Dernier message: 13/12/2004, 13h54
  4. Enregistremenbt d'un fichier WORD dans une base de données
    Par yam49 dans le forum Bases de données
    Réponses: 4
    Dernier message: 02/08/2004, 15h01
  5. [Struts][Oracle]Upload fichier word dans une base
    Par Maximil ian dans le forum Struts 1
    Réponses: 7
    Dernier message: 10/02/2004, 15h52

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