Mayzz
Messages postés2813Date d'inscriptionmardi 15 avril 2003StatutMembreDernière intervention 2 juin 2020
-
18 juil. 2009 à 02:33
cs_Soukainaaa
Messages postés6Date d'inscriptionvendredi 1 avril 2011StatutMembreDernière intervention11 juillet 2011
-
10 avril 2011 à 23:10
Bonjour à tous,
Voila, perdu dans mes pensées car je dois attaquer un logiciel de bases de données d'assez grande envergure, je me posais certaines questions, je connais le SQL et les manipulations ADO.Net et cie mais, je bloque sur le fonctionnement de SQL Serveur lui même, son administration :
Voila le problème, je dois concevoir une application qui devra se connecter à une base de données sur un serveur (SQL 2005) distant. L'utilisateur lors de la connexion devra choisir une base de données préenregistré (fichier crypté sur le disque contenant la liste des connexionstring). Si l'utilisateur désir créer une nouvelle base sur le serveur, il le Pourrat, le logiciel contiendra des informations sur le schéma de tables et enverra les requêtes adéquates. Si la base choisie sur le serveur n'est pas au bon schéma (les tables dont le logiciel à besoin n'existe pas) le logiciel tentera d'adapter la base.
Mes questions sont donc :
Comment établir une connexion vers SQL Serveur juste pour récupérer des infos (version du programme, liste des bases présentes) avec juste l'adresse du serveur (et mot de passe éventuellement), j'ai regarder sur le Google mais je ne trouve pas grand choses, il y a 2 modes d'authentification Windows et SQL serveur, bien entendue, celui qui m'intéresse est le mode SQL Serveur.
Je me pose la question aussi, pour savoir si l'on peut demander au serveur de créer une nouvelle base. Cela me semble possible car l'assistant de nouvelle connexion de Visual Studio permet de le faire et même d'attacher une nouvelle base à un serveur.
En gros je bute sur la partie du boulot que je n'ai jamais eu à faire au paravent, je doit faire une sorte d'assistant idem à celui de Visual Studio mais simplifié (l'utilisateur ne verra pas la chaîne de connexion).
Merci aux bonnes âmes qui prennent le temps pour résoudre ce qui est pour le moment pour moi un mystère. Et désolé pour le roman...
PS: j'ai exploré l'espace de noms SqlClient mais sans grand succès.
Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 18 juil. 2009 à 09:19
En gros, si j'ai bien compris, tu voudrais faire pas le code dans ton logiciel ce que tu fais naturellement depuis Management Studio de façon graphique.
Déjà, il faut savoir une chose, Management Studio qui est l'outil de gestion des serveurs MS SQLServer depuis la version 2005 (ex Entreprise Manager sous SQL2000) n'est qu'une sur couche graphique. Toute la gestion d'un serveur (c'est ce que fait Management Studio) se fait par des requêtes SQL classiques.
Donc normalement tu peux exactement la même chose depuis ton code en exécutant les bonnes requêtes.
Pour créer, modifier, supprimer des objets (bases, tables, vues, relations entre tables, procédure stockées ...), ce sera respectivement des requetes CREATE, ALTER ou DROP.
Connaitre la liste des bases, c'est une simple requête SELECT sur une des tables (ou vue) de la Master (j'ai plus le nom en tete)
Etc...
Il existe quelques sources ici ou tu pourra t'inspiré du code.
[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
Mayzz
Messages postés2813Date d'inscriptionmardi 15 avril 2003StatutMembreDernière intervention 2 juin 202028 18 juil. 2009 à 12:29
En effet, j'ai eu le temps de voir cela un peu après avoir posté ,
select * from sys.databases where name not in ('master','tempdb','msdb','model')
J'utilisais le même type de code mais je n'avais pas pensé à virer les tables systeme.
Pour ce qui est de la création/modif de table/ en effet tout ce fait via des requêtes, et pour la connexion SQL, j'ai trouvé aussi, une simple création de compte SQL sous Management Studio, et ne pas oublier de configurer le type de connexion mixte Connexion Windows/SQL.
Idem lors de la création du compte sous Management Studio, ne pas oublier les privilèges.
Merci pour ton aide casy
@+
Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.