Net2cssql - outil management de bases de donnees (access et sql server) et classeurs excel

Soyez le premier à donner votre avis sur cette source.

Vue 27 649 fois - Téléchargée 3 918 fois

Description

Bonsoir,

Il n?y avait pas moyen d?installer SQL Server management studio 2005 sur Vista, tant mieux cela m?a enfin donné le prétexte et la motivation suffisante pour améliorer cet outil ?

Voyons quelles sont les nouveautés (nombreuses voir très nombreuses déjà apportées) :
- Coloration syntaxique
- IntelliSense (sur les mots clés SQL) (j'utilise ici un control listbox, mais peut être que Visual Studio ou SharpDevelop utilisent en fait une treeview)

supporte :
- Microsoft Access 2002-2003 (*.mdb)
- Microsoft Access 2007 (*.accdb)
- Microsoft SQL Server 2000
- Microsoft SQL Server 2005
- Microsoft SQL Server 2005 Express (*.mdf)
- Microsoft Excel 97-2003 (*.xls)
- Microsoft Excel 2007 (*.xlsx)

Il n?est pas impossible que je mette en place des « modèles », gérer par clause (« SELECT », « FROM », « WHERE », « CREATE », « ALTER », etc.) la liste des mots disponibles dans l?IntelliSense ex : après un SELECT l?IntelliSense proposerait les noms des tables, les noms des colonnes et les noms de fonctions AVG,etc.. Mais ne proposera pas les mots clés ou seulement ceux pouvant se trouver à cet emplacement (vous commencez à comprendre ?) et ce sur plusieurs « niveaux de profondeur »

- support des classeurs Excel : vous pouvez ainsi attaquer un fichier Excel de la même manière qu'on le fait avec une base de données (voir exemples de codes avec Excel plus bas)
- Drag and drop depuis l?explorateur de bases de données directement sur la zone de saisie (pratique même si le focus me pose un peu problème)
- L?outil permet également de créer rapidement (et supprimer) des bases de données sur SQL Server
- Vous pouvez également au choix soit n'éxécuter que certaines requètes en les sélectionnant (un peu comme le fait SQL server management pour ceux qui connaissent cette fonctionnalité) soit éxécuter la totalité du SQL affiché(dans la richtextbox) si vous ne sélectionnez rien ..
- permet de lister les procédures stockées SQL Server (ainsi que de les afficher)
- Aide à la génération de requêtes (ex : générer le corps d'une procédure stockée de la base en vue de la modifier)
- génération petit rapport sur les requêtes exécutées (*.html)
- Database visualizer : afficher le schèma de n'importe quelle base de données

Quels sont les avantages apportés par cet outil par rapport à SQL Server management studio ?
Moins lourd dans ses traitements, plus rapide, dispose de l?IntelliSense, permet de se connecter très simplement aussi bien à une base SQL Server qu?à des fichiers SQL Server 2005 Express et des fichiers Access (ce que SQL Server ne sait pas faire pour Access et peine à réaliser pour les fichiers SQL Server express)
De plus et oui l?outil lui fonctionne sur Vista !! lol alors certes
Et l?outil permet (un peu comme Visual studio) d?ajouter des outils externes qui pourront être lancés directement

Peut être que je pousserai plus loin les possibilités de manipulation des tables de manière « graphique » (comme le fait un peu Access) ? enfin tout est une question d?envie et de motivation ?

l'outil représente deja en l'état actuel une solution simple et efficace pour gérer les opérations courantes de ses bases de données SQL Server ou Access

Bon voila j'arrive à peu prêt au terme de cette application car je ne vois pas l'intêret de continuer si ce n'est que pour recréer quelques chose qui existe, cela n'a plus d'interet, mais sait on jamais, il est vrai qu'il se peut que j'utilise une treelistview pour afficher les erreurs, et pousser un peu plus la gestion des erreurs, l'intellisense, ... ce qui pourrait me faire un bon entrainement même si je vois d'autres choses plus utiles à développer
++

Source / Exemple :


--// EXEMPLES DE REQUETES AVEC CLASSEUR EXCEL (*.xls ou *.xlsx)

--// création de table
create table [CONTACT]
(
NOM char(200) null,
PRENOM char(200) null
)

--// Insertion de valeurs 
--// 2 possibilités 
INSERT INTO [CONTACT]([NOM],[PRENOM])
VALUES('Romagny','jérôme');
--// ou
INSERT INTO [CONTACT$]([NOM],[PRENOM])
VALUES('Romagny','jérôme');

--// Modification 
UPDATE [CONTACT$]
SET PRENOM] = 'Arnaud' WHERE [NOM] = 'Romagny';

--// SUPPRESSION : DELETE pas pris en charge

--// SELECTION 
SELECT [NOM],[PRENOM]
FROM [CONTACT$];

Conclusion :


Un dernier mot pour dire :
certes les sources sont fournies et c'est le principe du site (qui d'ailleurs fait tout son charme)
elle peut être stimulante (avec l'intellisense et la coloration en autres)
vous pouvez bien entendu etudier le code et vous entrainer avec
mais elle n'est pas faite dans le but non plus de voir arriver sur le site des "duplications" ;) :p

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
18
Date d'inscription
dimanche 19 juin 2005
Statut
Membre
Dernière intervention
21 décembre 2012

Salut romagny13, salut les amis,
Quelqu'un peut m'aider svp ? j'ai essayé d'ouvrir cette application aujourd'hui avec Visual Studio 2010 => Donc comme vous savez pour l'ouvrir il fait la conversion du projet vers "Microsoft Visual Studio 2010",
seulement ça génère plusieurs erreurs et l'application ne marche pas, qqu'un d'entre vous peux m'aider et poster la solution qui marche bien sous V.Studio 2010 ?

Merci pour votre aide :)
Messages postés
1
Date d'inscription
samedi 8 janvier 2005
Statut
Membre
Dernière intervention
8 juin 2007

Bonjour, tout d'abord je voudrais te dire que ton application est superbe, il doit vraiment y avoir du boulot derriere. J'utilisai la version que tu avais faites avant et j'en etais tres content, je viens de tester la nouvelle mais j'ai un probleme que je n'avais pas avant, je n'arrive pas à me connecter à SQL Server ou SQLEXPRESS, jai toujours dans la barre de statut : "Extraction ..." et apres l'application plante au bout d'un moment. En pas à pas, j'ai trouvé que le programme tourne sans fin dans le fichier ManagementSqlServer dans la boucle :

foreach (System.Data.DataRow oDataRow in oDataTableStoredProcedures.Rows)
{
StoredProcedure oStoredProcedure;
oStoredProcedure = new StoredProcedure();
oStoredProcedure.Name = oDataRow["name"].ToString();
oStoredProcedure.Value = this.ExtractStoredText(oStoredProcedure.Name);
oStoredProcedureCollection.Add(oStoredProcedure);
}

Est ce que tu sais d'ou vient le probleme et ce qu'il faudrait faire pour le regler?

ps : si tu veux des idées pour les prochaines versions, ce serait de rafraichir les onglets des tables ou les données lorsque l'on clique sur une table ou lorsque l'on execute un script qui crée une table ou en supprime une.
Messages postés
687
Date d'inscription
lundi 10 janvier 2005
Statut
Membre
Dernière intervention
27 août 2014
2
si on peut faire des requetes séparées
il suffit de sélectionner la ou les requetes (avec la souris) et lancer l'execution > seules les requetes surlignées/sélectionnées sont alors executées
c'est vrai je suis sur que peu de monde s'en est aperçu et pourtant personnellement je ne me sers quasiment que de cela
Messages postés
115
Date d'inscription
jeudi 11 octobre 2001
Statut
Membre
Dernière intervention
15 octobre 2012

Bonjour Romagny13 pour :
Drag and drop depuis l'explorateur de bases de données directement sur la zone de saisie (pratique même si le focus me pose un peu problème)
J'ai trouvé une astuce qui fonctionne parfaitement :
1) rendre public la class Editor pour voir les Evennements

2) dans la class UserControl (UCintelli) mettre une property ItemDrag

object ItemDrag {
set {
sItemDrag = value;
if (bDrag) {
if (((selectStart != -1)
&& (selectLenght != 0))) {
oEditor.Select(selectStart, selectLenght);
}
if ((oEditor.SelectedText != "")) {
oEditor.SelectedText = ((string)(sItemDrag));
}
else {
oEditor.AppendText(((string)(sItemDrag)));
}
selectStart = -1;
selectLenght = 0;
sItemDrag = String.Empty;
bDrag = false;
}
}
}
et
void oEditor_DragEnter(object sender, DragEventArgs e) {
bDrag = true;
if (!oEditor.Focused) {
oEditor.Focus();
}
}

enlever l'evennement oEditor_MouseDown
mettre l'evennement :
private void oEditor_MouseLeave(object sender, System.EventArgs e) {
if ((oEditor.SelectedText != "")) {
selectStart = oEditor.SelectionStart;
selectLenght = oEditor.SelectionLength;
}
}
3) Dans la form principal (MainForm) pour l'evennement tvTable.ItemDrag
mettre ceci : oUCIntelli.ItemDrag = sValue;

C'est tout !!
il manque la possibilité de faire plusieurs requêtes dans des onglets séparés comme management
Messages postés
115
Date d'inscription
jeudi 11 octobre 2001
Statut
Membre
Dernière intervention
15 octobre 2012

Bonjour,
Ca fonctionne pour les connexions serveur SQL
Mais pour Access, ca ne fonctionne pas
(le fichier groupe de travail absent) !
Quand une base access est lié à un fichier de groupe de travail (system.mdw ou xxx.mdw) peut importe si tu es Admin ou pas de la base il faut lui renseigner ou trouver ce fichier.
exemple de connexion utilisant cela :
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strSource & ";User Id='" & strUser & "';Password='" & strPass & "';" & "Jet OLEDB:System Database='" & strMdw & "'; "

Ce type de base est généralement utilisé pour gérer des droits en fonction de l'utilisateur (User) User est contenu dans un groupe qui lui est paramètré avec certaints droits.
A+ et Merci
Afficher les 16 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.