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

Administration SQL Server Discussion :

Montage d'un dump sql serveur dans une base de donnée


Sujet :

Administration SQL Server

  1. #1
    Membre régulier
    Inscrit en
    Novembre 2007
    Messages
    224
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 224
    Points : 94
    Points
    94
    Par défaut Montage d'un dump sql serveur dans une base de donnée
    Salut a tous,

    je viens se faire un export des tables de base de données SQL serveur 2000 avec un PGI ( ERP ) .

    J'ai obtenu un script de création des tables du genre Create table ("non de champs " type) suivie des données qui sont dans chaque champs.

    En me renseignant ça et la, j'ai cru comprendre que c'étais un dump de base de données.

    Le truc c'est que je souhaite monter ça dans un serveur pour faire du décisionnel par dessus.

    Est-ce courant et possible ? oui il parait mais comment monter ce fichier dans une base de donnée ?

    Merci d'avance pour vos réponses ..

  2. #2
    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 : 43
    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
    Points : 12 371
    Points
    12 371
    Par défaut
    Bonjour,

    Vous pouvez faire cela avec l'utilitaire BCP ou bien avec BULK INSERT s'il s'agit d'un besoin ponctuel.

    Le truc c'est que je souhaite monter ça dans un serveur pour faire du décisionnel par dessus.
    vous devriez plutôt copier la base de données sur le serveur cible (par mirroring ou par BACKUP + RESTORE) pour ensuite peupler la BD de statistiques ...

    @++

  3. #3
    Membre régulier
    Inscrit en
    Novembre 2007
    Messages
    224
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 224
    Points : 94
    Points
    94
    Par défaut
    Citation Envoyé par elsuket Voir le message
    vous devriez plutôt copier la base de données sur le serveur cible (par mirroring ou par BACKUP + RESTORE) pour ensuite peupler la BD de statistiques ...

    @++
    Oui mais je n'est pas de ficher journal et le fichier que j'export c'est du test.sql. alors que on ne peut monter que des *.mdf non ?

  4. #4
    Membre régulier
    Inscrit en
    Novembre 2007
    Messages
    224
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 224
    Points : 94
    Points
    94
    Par défaut
    voici une ligne et ce que j'ai fait mais toujours des erreurs vers le fieldterminator

    1,'001',3,3,'Appt','CL','Appt',0,0,'0',1,0,0,'','','',0

    zimmer étant ma table avec les champs correspondants à ma ligne

    bulk insert
    DB..zimmer.
    from 'e:\zimmer.txt'
    with
    (
    DATAFILETYPE = 'char'
    FIELDTERMINATOR = ','
    ROWTERMINATOR = '\n'
    ) go

  5. #5
    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 : 43
    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
    Points : 12 371
    Points
    12 371
    Par défaut
    Bizarre ...
    Avez-vous essayé avec un DTS ou SSIS ?

    @++

  6. #6
    Membre régulier
    Inscrit en
    Novembre 2007
    Messages
    224
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 224
    Points : 94
    Points
    94
    Par défaut
    Merci bcp pour votre aide
    J'ai finis par reussir en creusant un peu et en utilisant l'assistance d'importation de sql serveur manager.. ....

    Le pB avec ça c'est que j'ai plusieurs dans le dump.... mais je ne peut exporter qu'une table à la fois....
    et il ne me crée qu'une table .... normale en meme temps mais ce que je veu c'est recréer à partir de ce dump la structure entière de la database.....

    c'est dois etre énorme comme truc... mais je pense que c'est possible qd meme..
    car tous ce que j'arrive à faire pour le moment c'est de l'export de donnée en gros..

  7. #7
    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 : 43
    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
    Points : 12 371
    Points
    12 371
    Par défaut
    Avec l'ERP, vous pouvez peut-être générer la requête de structure de toutes vos tables et vues, puis dans un second temps seulement les données ...

    l'ERP ne s'appuie-t-il pas lui-même sur une base de données que vous pourriez manipuler ?

    @++

  8. #8
    Membre régulier
    Inscrit en
    Novembre 2007
    Messages
    224
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 224
    Points : 94
    Points
    94
    Par défaut
    Je sais pas si j'ai été assez précis au début donc je vais me reprendre un peu

    Quand j'exporte ma base, j'obtient des données qui ressemble à ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    create table user2 ("usernr" int not null default 0 ,"name" varchar(50) not null default '' ,"login" varchar(50) not null default '' ,"initials" varchar(10) not null default '' ,"department" varchar(50) not null default '' ,"ord1" varchar(50) not null default '' ,"replyaddr" varchar(75) not null default '' ,"grpnr" int not null default 0 ,"nextpwd" datetime not null default '1900-01-01' ,"forcepwd" int not null default 0 ,"days" int not null default 0 ,"rates" int not null default 0 ,"forcereg" int not null default 0 ,"register" int not null default 0 ,"mpehotel" int not null default 0 ,"password" varchar(50) not null default '' )
     
    3,'eyteste','eguida','SUPP','','','teste teste ',2,'2009-04-25 00:00:00.000',0,30,0,1,31,31,'2500421808'
     
    create table usergrnr ("mpehotel" int not null default 0 ,"kdnr" int not null default 0 )
    1,170
    et ainsi de suite

    Donc techniquement je souhaite aboutir à unz base de données avec toutes les tables créés ainsi que les données à l'intérieur.. que dois-je faire .... ?


    j'ai fait un petit programme en java qui le fait mais c'est pas très propre...
    Donc je cherche un autre moyen

  9. #9
    Membre confirmé 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
    Points : 478
    Points
    478
    Par défaut Eliminer java, mais pas terrible non plus
    Bonjour kfmystik,

    Il y a aurait aussi une solution sans outils externe, en écrivant une procédure stockée d'importation.

    1. En passant par une table de stockage du fichier texte si la base n'est pas trop grosse:

    Dans une base de données, idéalement sur le serveur cible:

    Créer une table tbImport (ID INT IDENTITY, LIGNE VARCHAR(MAX))
    Utiliser bcp ou bulk insert pour remplir cette table, une ligne du fichier texte -> une ligne dans la table.

    Créer une petite procédure stockée qui parcourt la table et effectue le traitement suivant:
    - si une ligne commence par 'CREATE TABLE', extraire le nom de la table dans @maTable et créer la table dans la base de destination.

    Rq: il ne faudrait pas que des la première colonne de données d'une table commence aussi par 'CREATE TABLE'

    - sinon, en sql dynamique,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    'SET DATEFORMAT YMD; 'INSERT INTO ' + @maTable ' + ' (' + @maligne + ')'
    2. En utilisant un serveur lié sur un fichier texte (via odbc), ou avec OPENROWSET et en utilisant la même technique d'import.

    Rq: Tout ça est lent, car on traite ligne par ligne.

    3. Avec un assembly .net.

    4. Je connais très mal SSIS, mais il peut faire des choses étonnantes.

    PS: Quand j'entends dump, ça me fait frémir

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 24/06/2010, 18h31
  2. Placer des données de SQL serveur dans une variable
    Par Dohmaker dans le forum VB.NET
    Réponses: 11
    Dernier message: 19/02/2008, 22h18
  3. [SQL Serveur] Déployer une base de données
    Par aityahia dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 20/05/2007, 19h12
  4. connection a sql serveur dans une appli vb6
    Par pierre2410 dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 03/05/2007, 09h58
  5. Réponses: 4
    Dernier message: 26/09/2006, 11h42

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