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 :

Problème à la création d'une DB


Sujet :

MS SQL Server

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    464
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 464
    Par défaut Problème à la création d'une DB
    Salut !


    J'ai un problème avec la création d'une DB.
    En fait, je veux utiliser le type Filestream.

    J'ai repqiué ce code sur un site pour voir comment ça fonctionnait.
    Je lance donc la requête suivante :

    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
    CREATE DATABASE Mediatheque
     
    ON
     
    PRIMARY ( NAME = Mediatheque,
     
    FILENAME = 'C:\Mediatheque\Mediatheque.mdf'),
     
    FILEGROUP FileStreamGroup1 CONTAINS FILESTREAM( NAME = Mediatheque2,
     
    FILENAME = 'C:\Mediatheque\Mediatheque_Photos')
     
    LOG ON ( NAME = Mediatheque_Log,
     
    FILENAME = 'C:\Mediatheque\Mediatheque_Log.ldf')
     
    GO
    J'ai créé au préalable le dossier Mediatheque dans C:\.

    Mon problème est que je reçois ce message d'erreur et que la requête n'aboutit pas :

    Msg 5120, Niveau 16, État 106, Ligne 1
    Impossible d'ouvrir le fichier physique "C:\Mediatheque\Mediatheque_Photos". Erreur du système d'exploitation -1071906798 : "0xc01c0012(failed to retrieve text for this error. Reason: 1815)".
    Je ne sais absolument pas ce qu'il se passe... Pouvez-vous m'aider ?
    Merci !

    NB : Je travaille avec SQL Express 2008.

  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 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
    Vérifiez que votre serveur est configuré correctement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT SERVERPROPERTY ('FilestreamShareName') Partage, 
              SERVERPROPERTY ('FilestreamConfiguredLevel') NiveauDemandé,  
              SERVERPROPERTY ('FilestreamEffectiveLevel') NiveauConfiguré
    Configurez par
    option filestream_access_level

    Sinon par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sp_filestream_configure
    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
    Décembre 2003
    Messages
    464
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 464
    Par défaut
    Oui oui, c'est déjà fait ça (mis sur niveau 2) !!

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    464
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 464
    Par défaut
    Personne ne peut m'aider alors ?

  5. #5
    Rédacteur
    Avatar de Hinault Romaric
    Homme Profil pro
    Consultant
    Inscrit en
    Janvier 2007
    Messages
    4 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4 570
    Billets dans le blog
    121
    Par défaut
    je crois qu'il manque juste l'extension du fichier image
    'C:\Mediatheque\Mediatheque_Photos'
    référence un dossier et non un fichier
    Vous souhaitez participer aux rubriques .NET ? Contactez-moi

    Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire
    Mon blog, Mes articles, Me suivre sur Twitter
    En posant correctement votre problème, on trouve la moitié de la solution

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    464
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 464
    Par défaut
    Mais c'est bien un dossier que le path doit référencer !!! Donc, le code est juste

  7. #7
    Rédacteur
    Avatar de Hinault Romaric
    Homme Profil pro
    Consultant
    Inscrit en
    Janvier 2007
    Messages
    4 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4 570
    Billets dans le blog
    121
    Par défaut
    non c'est pas juste puisque FILENAME doit prendre le chemin vers un fichier non vers un dossier dans ce cas tu ne peut pas utiliser FILENAME
    Vous souhaitez participer aux rubriques .NET ? Contactez-moi

    Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire
    Mon blog, Mes articles, Me suivre sur Twitter
    En posant correctement votre problème, on trouve la moitié de la solution

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    464
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 464
    Par défaut
    Ecoute, je sais que ce que tu dis paraît logique mais je t'assure que c'est un directory qui est attendu et non un fichier.

    Regarde ici donc la doc : http://msdn.microsoft.com/en-us/library/cc645585.aspx

  9. #9
    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
    Quel est votre OS ?, Le disque C est-il NTFS ?

    Voici maintenant un démo que je donne lors des formations SQL Server 2008 développement chez Orsys (La Défense) et dans toute la france, Cours SEM :
    http://www.orsys.fr/pdf-auto/pdfCours/SEM.pdf


    1 - préparation système
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Allez dans : SQL Server : gestionnaire de configuration (menu Windows)
       Cliquez sur les "services SQL Server"
          Cliquez droit (menu contextuel) sur le service SQL Server (2008)
             Choisisez propriété / onglet FILESTREAM
             Cliquez sur : 1) Activer FILESTREAM pour l'accès Transact SQL
                           2) Activer FILESTREAM pour l'accès en continu aux E/S de fichier
                           3) donnez un nom de partage (exemple STREAM_SQL2008)
       appuyez sur OK
    2 - code SQL
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    -- paramétrage SQL Server :
    IF (SELECT SERVERPROPERTY('FilestreamEffectiveLevel')) < 2
    BEGIN
       EXEC sp_configure 'filestream_access_level', 2
       RECONFIGURE
    END;   
    GO
    Création base :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    USE master;
    GO
     
    CREATE DATABASE DB_SEM;
    GO

    Création espace de stockage FILESTREAM :
    --> ATTENTION : le répertoire C:\! DATABASES\SEM\ doit exister
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    -- ajout d'un groupe de fichier pour le stockage des flux LOBs
    ALTER DATABASE DB_SEM
    ADD FILEGROUP FG_STREAM CONTAINS FILESTREAM;
    -- ajout d'un fichier dans ce nouveau groupe
    ALTER DATABASE DB_SEM
    ADD FILE
       ( NAME = F_STREAM,
         FILENAME = 'C:\! DATABASES\SEM\STREAMING') 
       TO FILEGROUP FG_STREAM;
    Test :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    -- se remettre dans le contexte de la base SEM
    USE DB_SEM;
    GO
     
    -- création d'une table avec des données mises en Lob
    CREATE SCHEMA S_CIN;
    GO
    La table avec un FILESTREAM :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    CREATE TABLE S_CIN.T_FILM_FLM
    ( FLM_ID          INT NOT NULL IDENTITY PRIMARY KEY,
      FLM_STREAM_GUID uniqueidentifier ROWGUIDCOL NOT NULL UNIQUE, 
      FLM_TITRE       VARCHAR(256),
      FLM_VIDEO       VARBINARY(MAX) FILESTREAM);
    GO
    -- insertion de données de test dans le fileStream :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    INSERT INTO S_CIN.T_FILM_FLM (FLM_TITRE, FLM_STREAM_GUID, FLM_VIDEO) 
       VALUES ('Film bidon', NEWID(), CAST('y''a pas d''film c''est juste un test' AS VARBINARY(max)))
    -- vérification :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT *, FLM_VIDEO.PathName()
    FROM   S_CIN.T_FILM_FLM
    Vous perdriez moins de temps et moins d'argent à venir faire une formation. Les choses ne s'apprennent pas "naturellement" à moins que vous ne soyez un génie !!!


    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/ * * * * *

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    464
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 464
    Par défaut
    J'utilise XP Pro SP3 et ma partition C est bien en NTFS.


    Sache que je n'invente rien de moi-même. Je suis un cours et dans le cadre de celui-ci, on a un projet à faire dans lequel on doit stocker des fichiers dans la DB; d'où l'utilisation du filestream.
    Là, je tente simplement de reproduire chez moi ce que le prof a fait au cours et ça bugge. Il n'a fait que reprendre l'exemple de la doc (MSDN) dont j'ai donné le lien ci-dessus.
    Je passerai outre le fait que mon prof a une pédagogie lamentable et que c'est pas évident du tout de "suivre" son cours...



    Bon, j'ai suivi toutes tes explications à la lettre et ça coince à cette étape :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    -- se remettre dans le contexte de la base SEM
    USE DB_SEM;
    GO
     
    -- création d'une table avec des données mises en Lob
    CREATE SCHEMA S_CIN;
    GO
    Voici le message d'erreur :

    Msg 5120, Niveau 16, État 106, Ligne 1
    Impossible d'ouvrir le fichier physique "C:\! DATABASES\SEM\STREAMING". Erreur du système d'exploitation -1071906798 : "0xc01c0012(failed to retrieve text for this error. Reason: 1815)".
    Msg 5105, Niveau 16, État 14, Ligne 1
    Une erreur d'activation de fichier s'est produite. Le nom de fichier physique 'C:\! DATABASES\SEM\STREAMING' est peut-être incorrect. Diagnostiquez et corrigez les erreurs supplémentaires, puis recommencez l'opération.
    Msg 945, Niveau 14, État 2, Ligne 1
    La base de données 'DB_SEM' ne peut pas être ouverte, car des fichiers sont inaccessibles, ou la mémoire ou l'espace disque sont insuffisants. Pour plus d'informations, consultez le journal des erreurs de SQL Server.

    Voilà !

  11. #11
    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
    consultez le journal des erreurs de SQL Server.
    ?
    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/ * * * * *

  12. #12
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    464
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 464
    Par défaut
    Citation Envoyé par SQLpro Voir le message
    ?
    Comment je peux y accéder ?

  13. #13
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    464
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 464
    Par défaut
    Citation Envoyé par Mike888 Voir le message
    Comment je peux y accéder ?
    Ok, j'ai trouvé !


    Sinon, j'ai retenté l'ensemble de la procédure et c'est passé aujourd'hui (va savoir pourquoi...).

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

Discussions similaires

  1. Problème pour création d'une vue
    Par gapse dans le forum Oracle
    Réponses: 5
    Dernier message: 30/08/2006, 15h35
  2. Réponses: 9
    Dernier message: 05/04/2006, 17h48
  3. FAQ : problème avec création d'une requete en VBA
    Par Oluha dans le forum VBA Access
    Réponses: 14
    Dernier message: 14/02/2006, 12h05
  4. Problème de création d'une dll...
    Par adrien954 dans le forum C++Builder
    Réponses: 4
    Dernier message: 21/10/2005, 10h46

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