Comment transférer une BD de MSDE vers un autre MSDE ? - SQL/NoSQL - Programmation
Marsh Posté le 04-08-2004 à 16:36:52
1) MSDE, y'a des outils qui permettent de dupliquer des bases d'un serveur à l'autre. tu peux éventuellement le faire en ligne de commande DEPUIS une connection à une base de données, mais c'est tout. y'a que les sgbd de goret (access et mysql pour ne pas les citer) où transférer un fichier comme un porc suffit à installer une base. Tu peux à la limite utiliser l'outils de backup, mais non seulement ça ne sert pas à ça, mais surtout c'est source d'un nombre incalculable de problèmes dès que tu utilises des objets spécifiques à la machine (utilisateur de windows par exemple)
2) T'as vu la taille de MSDE ? Tu comptes vraiment le distribuer avec ton appli qui doit faire 400 ko à tout casser ?
3) MSDE c'est pas access hein ! C'est une base multi-utilisateur/multi-connection/multi-session. T'as UN serveur MSDE pour X (quelques millions si ça te chante) clients.
Marsh Posté le 05-08-2004 à 10:20:12
En fait je t'explique mon petit problème en remontant à la source.
Mon application a besoin d'une base de donnée pour pouvoir stocker une grande série de point, de manière à tracer des courbes.
Donc pour toi la meilleure solution serait une base access ? comme ca lors du déploiement c'est léger, pas chiant, et ce serait suffisant pour ce que j'ai fait (cad utilisation en local, pas d'accès à la base en réseau)?
Merci pour ta réponse en tout cas
Marsh Posté le 05-08-2004 à 14:53:03
Je pense qu'access sera mieu en effet.
Sinon, ça sert que de stockage ? Pourquoi ne pas bosser dans un fichier plat à ce moment ? Ce sera incomparablement plus rapide, ça prendra moins de place, ça sera moins chier à développer, et et et... ça sera propre.
Marsh Posté le 05-08-2004 à 15:11:53
Ben c'est pas difficile de gérer des fichiers comme ca ? C'est à dire que pour faire une requete de tri, des select, insert, update, ... faut se démerder à balayer tout le fichier, enfin faut bricoler ?
De plus, il faut pas que les données soient lisible lorsque l'utilisateur tente d'ouvrir le fichier avec un notepad
En tout cas merci pour l'aide, j'ai du mal à repartir, les vacances, la découverte de VB.NET (enfin de la prog en général lol ).
PS: Arjuna c'est le nouveau nom du fameux MagicBuzz ? Ou je me trompe ?
Marsh Posté le 05-08-2004 à 16:13:59
Arjuna a écrit : Oui c'est ça |
Ton "Oui c'est ça " c'est pour répondre à mon PS ou à ma question ou je demande si faut de démerder tout seul ?? lol
De plus, comment faire pour que les utilisateurs ne puisse pas voir le contenu du fichier ?
Marsh Posté le 05-08-2004 à 17:43:35
pour que les gens comprennent pas ce que tu écris dans ton fichier, y'a plein de solutions plus ou moins barges mais qui marchent très bien.
style... un nombre... c'est bien une succession d'octets ? un octet, c'est bien un char ? un char, ça fait bien un caracère ?
Alors pourquoi ne pas faire ça :
658426 (décimal) = 10100000101111111010 (binaire)
00000000 00001010 00001011 11111010 (4 octets : 32 bits)
chr(0) chr(10) chr(11) chr(250) (4 caractères réprésentant ces 4 octets)
Ca donne dans ton fichier :
(null)(LF)(VT)·
Ca va être dûr à traduire, et pourtant il n'y a aucune encryption
Deplus, en VB.NET y'a tout ce qu'il faut pour convertir un type entier en array de bytes, et ça tombe vraiment bien, parceque c'est ce qu'attends le composant de streaming qui est ce qu'il y a de plus performant pour faire de type d'accès.
A toi de te faire une petite surcharge dans la class afin de pouvoir lui passer une structure plutôt qu'un tableau de bytes (un point c'est plusieurs nombre, et c'est plus facile dans le code de le gérer comme tel)
En gros c'est pas compliqué à faire, et très éfficace. Ce sera plus rapide qu'un SGBD pour faire ça en tout cas.
Y'a que pour les recherches que là en effet tu vas merder un peu plus, mais pour le reste, tu seras bien plus rapide, et surtout ça t'évite de te faire chier à trimballer un truc énorme "pour rien"
Marsh Posté le 04-08-2004 à 15:56:10
Salut à tous !
Voila mon souci. En fait, je fais un petit programme en VB.NET qui se sert d'une base de donnée en local qui tourne sous MSDE. J'ai créer les comptes utilisateurs et bases de données avec le client SQL Server car je n'ai aucune idée de comment accéder aux données et créer bases et utilisateurs sans ce client (ligne de commande ?? comment faire ?? )
Ma question principale est donc la suivante: Si je décide de transferer mon petit logiciel sur un nouvel ordinateur, comment transferer ma base de données avec les droits d'accés et tout ?
J'ai pensé copier les fichier *.mdf situés la : C:\Program Files\Microsoft SQL Server\MSSQL\Data
Mais ca ne marche pas La connexion n'est plus autorisée à partir de mon programme
Sauriez-vous comment faire ? J'ai cherché à plusieurs reprises sur google et sur ce forum même, mais que dalle
Question subsidiaire : Si je veux faire un déploiement du logiciel, je peux intégrer une install automatisée de MSDE qui créer tout seul les comptes utilisateurs et tout ?
Merci vraiment beaucoup pour la possible aide que vous pourriez m'apporter. Je butte dessus depuis un moment, et j'en ai marre de ne pas avancer