Administration SQL Server via VB 2008 [Résolu]

Signaler
Messages postés
2814
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
2 juin 2020
-
Messages postés
6
Date d'inscription
vendredi 1 avril 2011
Statut
Membre
Dernière intervention
11 juillet 2011
-
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.

5 réponses

Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
35
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
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
35
Par exemple tu obtiendra la liste des bases de ton serveur en exécutant la requête suivante sur la base Master :
select * from sys.databases where name not in ('master','tempdb','msdb','model')


En .Net, tu peux aussi l'obtenir en exécutant la methode GetSchema() de ton objet connexion en lui passant le paramètre "Databases".


[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
Messages postés
2814
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
2 juin 2020
27
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.
Messages postés
6
Date d'inscription
vendredi 1 avril 2011
Statut
Membre
Dernière intervention
11 juillet 2011

je veux savoir comment afficher des photos (vb 2008 ) et merci
Messages postés
6
Date d'inscription
vendredi 1 avril 2011
Statut
Membre
Dernière intervention
11 juillet 2011

j'ai un stage et j'ai une application de location des voitures , quelq'un peux m'aider svp