Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
894 connectés 

  FORUM HardWare.fr
  Programmation

  Base de donnée Access et sécurité? HELP.. URGENT (merci)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Base de donnée Access et sécurité? HELP.. URGENT (merci)

n°182371
C17
-$$ W A N T E D $$-
Posté le 25-07-2002 à 09:52:48  profilanswer
 

Salut à tous,
 
J'aimerais savoir comment mettre en réseau une base de donnée access (.MDB) pour que les utilisateurs puissent avoir accés aux données sous un programme en VB mais ils ne peuvent pas avoir accès au fichier et au répertoire de la base sur le serveur...
 
Tout d'abord je voudrai savoir si cela est possible et si oui, comment je peux faire???
 
Merci d'avance!


---------------
C17
mood
Publicité
Posté le 25-07-2002 à 09:52:48  profilanswer
 

n°182398
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 25-07-2002 à 10:11:42  profilanswer
 

Access n'est pas un serveur de BDD, et donc n'est pas multi utilisateurs. Si tu veux que plusieurs personnes se connectent dessus, tu devras partager le répertoire contenant le fichier .mdb à ces personnes, et à partir de la, tout sera possible pour elles...


---------------
J'ai un string dans l'array (Paris Hilton)
n°182419
C17
-$$ W A N T E D $$-
Posté le 25-07-2002 à 10:25:52  profilanswer
 

Harkonnen a écrit a écrit :

Access n'est pas un serveur de BDD, et donc n'est pas multi utilisateurs. Si tu veux que plusieurs personnes se connectent dessus, tu devras partager le répertoire contenant le fichier .mdb à ces personnes, et à partir de la, tout sera possible pour elles...




 
Je m'en doutai un peu... dommage
 
Au fait moi je développe en VB, mais je suis débutant, tu pourrais me dire quel serveur de base de données utiliser et comment l'utiliser sous VB? (moi j'avais pensé à MySQL, c'est possible ça?)
 
Merci d'avance!

n°182426
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 25-07-2002 à 10:31:47  profilanswer
 

Il est tout à fait possible d'utiliser MySQL en VB, via ADO. Pour ça il te faut un driver ODBC pour MySQL (MyODBC par exemple), puis tu devras créer une DSN correspondant à ta base. Une fois tout ceci fait, tu es paré !
 
Exemple de code :

Code :
  1. Dim cnnConn as adodb.connection
  2. Dim objRec as adodb.recordset
  3. Set cnnConn = new adodb.connection
  4. Set objRec  = new adodb.recordset
  5. cnnConn.connectionstring = "DSN=MysqlODBC"
  6. objRec.open "SELECT ................", cnnConn


c'est tout con...
 


---------------
J'ai un string dans l'array (Paris Hilton)
n°182427
C17
-$$ W A N T E D $$-
Posté le 25-07-2002 à 10:34:07  profilanswer
 

Merci, tu me sauves la vie!
 
 :hello:

n°182433
C17
-$$ W A N T E D $$-
Posté le 25-07-2002 à 10:39:49  profilanswer
 

Au fait, je parlai de MySQL parce que c'est le seul que je connais qui est gratuit, mais d'après toi, c'est l'idéal pour développer ou il existe autre chose de plus performant? et quels sont les limites de ce serveur? (nombres d'utilisateurs connectés en même temps, nombres d'enr. dans les tables, ...).
 
tu pourrais m'en dire un peu plus à ce sujet?

n°182436
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 25-07-2002 à 10:47:36  profilanswer
 

MySQL a le gros avantage d'être gratuit pour une utilisation personnelle, et assez fiable pour des bases de taille moyenne (~2 Go). Par contre, il ne supporte pas certaines fonctionnalités (clés étrangères et sous requetes par exemple).
 
Après, ça dépend de ton budget et de la taille que tu estimes que ta base de données est susceptible d'atteindre. Et la tu as le choix entre Oracle et SQL Server.
 
Oracle est le meilleur SGBD, le plus fiable, le plus performant. SQL Server est bien aussi, mais à mon gout un poil plus lent qu'Oracle (la je sens que je vais faire grincer des dents :d). Niveau fiabilité, les 2 SGBD se valent, et tu pourras sans problème gérer de très grosses bases. Par contre, ils sont payants.
 
Reste Interbase, pas mal non plus, open source (coucou Vazkor :hello:) mais pas envisageable pour des très grosses bases à mon sens. Il entre dans la même catégorie que MySQL (patapai Vazkor :d)
 
Voila !


---------------
J'ai un string dans l'array (Paris Hilton)
n°182446
C17
-$$ W A N T E D $$-
Posté le 25-07-2002 à 10:59:27  profilanswer
 

Moi, c'est quand-même pour une utilisation prof. (petite entreprise) mais la base n'est vraiment pas importante (2000 enr. à tout casser(c'est pour celà que j'avais envisagé access)).  
 
Tu peux me donner une estimation des prix?
 
Merci!

n°182459
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 25-07-2002 à 11:11:58  profilanswer
 

Je sais pas trop, mais de toute façon, les prix d'Oracle et SQL Server sont dispos sur le site d'Oracle et Microsoft de toute façon

n°182584
C17
-$$ W A N T E D $$-
Posté le 25-07-2002 à 12:23:17  profilanswer
 

Au fait, via une conexion ODBC, il n'y a pas moyen quand-même d'utiliser une base Access sans partager le répertoire?

mood
Publicité
Posté le 25-07-2002 à 12:23:17  profilanswer
 

n°184658
C17
-$$ W A N T E D $$-
Posté le 28-07-2002 à 11:42:15  profilanswer
 

Harkonnen a écrit a écrit :

Il est tout à fait possible d'utiliser MySQL en VB, via ADO. Pour ça il te faut un driver ODBC pour MySQL (MyODBC par exemple), puis tu devras créer une DSN correspondant à ta base. Une fois tout ceci fait, tu es paré !
 
Exemple de code :

Code :
  1. Dim cnnConn as adodb.connection
  2. Dim objRec as adodb.recordset
  3. Set cnnConn = new adodb.connection
  4. Set objRec  = new adodb.recordset
  5. cnnConn.connectionstring = "DSN=MysqlODBC"
  6. objRec.open "SELECT ................", cnnConn


c'est tout con...
 
 




 
Voila j'ai suivi les indications et j'ai entré le code, mais lors de l'exécution du prog VB, j'ai un plantage à la ligne:
 ObjRec.Open "Select * from utilisateur", CnnConn
 
Message: "Operation is not allowed on an object refferencing a closed or invalid connexion"
 
Pourtant tout me semble normal...
 
(j'ai essayé avec la même chaine de connexion pour un controle data ado et là, ça fonctionne)
 
HELP PLEASE!!!


---------------
C17
n°184681
latruffe
Bdovore
Posté le 28-07-2002 à 14:02:52  profilanswer
 

C17 a écrit a écrit :

Salut à tous,
 
J'aimerais savoir comment mettre en réseau une base de donnée access (.MDB) pour que les utilisateurs puissent avoir accés aux données sous un programme en VB mais ils ne peuvent pas avoir accès au fichier et au répertoire de la base sur le serveur...
 
Tout d'abord je voudrai savoir si cela est possible et si oui, comment je peux faire???
 
Merci d'avance!




 
En fait, c'est possible.

n°184707
C17
-$$ W A N T E D $$-
Posté le 28-07-2002 à 16:56:16  profilanswer
 

latruffe a écrit a écrit :

 
 
En fait, c'est possible.




 
tu peux m'expliquer comment faire s'il te plait?


---------------
C17
n°184727
latruffe
Bdovore
Posté le 28-07-2002 à 18:01:12  profilanswer
 

C17 a écrit a écrit :

 
 
tu peux m'expliquer comment faire s'il te plait?




 
Mince, désolé mais je pensais pas avoir posté ma réponse précédente sinon j'aurais un peu développer.
 
en fait, ce que je fais dans un cas comme le tiens, c'est que je crée un base contenant mes tables que je protège avec username + password.
 
Ensuite je crée une seconde base qui ne contient aucune tqble liée et qu'il n'est pas nécessaire de protéger. Cette base ne sert qu'à stocker des formulaires et du code vb.
 
Dans la première base, je définie les noms des utilisateurs ou du groupe ayant un accès (Exemple user : DeptVentes ; pass : xxx)
 
Dans la seconde base, je passe le username et le password via la déclaration de ma connection dans mon code visual basic : j'ai alors accès à toutes mes tables pour mes saisies/query.
 
L'avantage, c'est que si les utilisateurs peuvent ont accès au chemin de la base, ils ne connaissent pas le login/password qui leur permettrait d'ouvrir directement la base de données. Si en plus de ça tu bloques le code vba par un password; il ne peuvent plus retoruver le login/password d'origine.

n°184736
C17
-$$ W A N T E D $$-
Posté le 28-07-2002 à 18:41:50  profilanswer
 

latruffe a écrit a écrit :

 
 
Mince, désolé mais je pensais pas avoir posté ma réponse précédente sinon j'aurais un peu développer.
 
en fait, ce que je fais dans un cas comme le tiens, c'est que je crée un base contenant mes tables que je protège avec username + password.
 
Ensuite je crée une seconde base qui ne contient aucune tqble liée et qu'il n'est pas nécessaire de protéger. Cette base ne sert qu'à stocker des formulaires et du code vb.
 
Dans la première base, je définie les noms des utilisateurs ou du groupe ayant un accès (Exemple user : DeptVentes ; pass : xxx)
 
Dans la seconde base, je passe le username et le password via la déclaration de ma connection dans mon code visual basic : j'ai alors accès à toutes mes tables pour mes saisies/query.
 
L'avantage, c'est que si les utilisateurs peuvent ont accès au chemin de la base, ils ne connaissent pas le login/password qui leur permettrait d'ouvrir directement la base de données. Si en plus de ça tu bloques le code vba par un password; il ne peuvent plus retoruver le login/password d'origine.




 
C'était pas vraiment ça ma question mais pour les mots de passe j'ai une autre soluce moins lourde
 
Je crée un petit prog de cryptage/decryptage de texte en vb (+- 10 lignes de code à tout casser)  
j'encode le mot de passe utilisateur et je le met dans un fichier ini dans le rep source du prog.
 
... Et dans mon prog je place l'algo de decryptage... Et le tour est joué!


---------------
C17
n°184749
Kuei-Saho
Posté le 28-07-2002 à 19:48:02  profilanswer
 

Harkonnen a écrit a écrit :

MySQL a le gros avantage d'être gratuit pour une utilisation personnelle, et assez fiable pour des bases de taille moyenne (~2 Go). Par contre, il ne supporte pas certaines fonctionnalités (clés étrangères et sous requetes par exemple).
 
Après, ça dépend de ton budget et de la taille que tu estimes que ta base de données est susceptible d'atteindre. Et la tu as le choix entre Oracle et SQL Server.
 
Oracle est le meilleur SGBD, le plus fiable, le plus performant. SQL Server est bien aussi, mais à mon gout un poil plus lent qu'Oracle (la je sens que je vais faire grincer des dents :d). Niveau fiabilité, les 2 SGBD se valent, et tu pourras sans problème gérer de très grosses bases. Par contre, ils sont payants.
 
Reste Interbase, pas mal non plus, open source (coucou Vazkor :hello:) mais pas envisageable pour des très grosses bases à mon sens. Il entre dans la même catégorie que MySQL (patapai Vazkor :d)
 
Voila !




 
Oublies pas DB2 d'IBM...IBM est passé devant Oracle il n'y a pas longtemps au niveau des parts de marché ! Donc c'est que ca doit etre bien ( j'ai jamais essayé DB2 contrairement à Oracle 8i ou SQl Server.).


---------------
Dieu a cree l homme. Et ensuite, pour le remercier, l homme a cree Dieu.
n°185036
latruffe
Bdovore
Posté le 29-07-2002 à 10:45:13  profilanswer
 

C17 a écrit a écrit :

 
 
C'était pas vraiment ça ma question mais pour les mots de passe j'ai une autre soluce moins lourde
 
Je crée un petit prog de cryptage/decryptage de texte en vb (+- 10 lignes de code à tout casser)  
j'encode le mot de passe utilisateur et je le met dans un fichier ini dans le rep source du prog.
 
... Et dans mon prog je place l'algo de decryptage... Et le tour est joué!




 
Ok mais l'avantage de cette methode, c'est que même si les utilisateur ont un accès à la base de donnée (ie au répertoire et au fichier), il ne peuvent pas l'ouvrir directement.
 
Ils sont obligés de passer via l'application VB que tu as définie.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  Base de donnée Access et sécurité? HELP.. URGENT (merci)

 

Sujets relatifs
Access impression de formulaires qui contiennent des macrola base de donnees
[Calques] Help ! La position relative me decale tout !comment creer une base mysql sur multimania svp
[Help] Soft qui clique automatiquement sur un bouton....Débutant, cherche exemple de dev. avec base Access Multi-Utilisateurs
URGENT recherche Web service en télechargementAccess - comparaison de dates
[Access] Test sur les Jours fériés 
Plus de sujets relatifs à : Base de donnée Access et sécurité? HELP.. URGENT (merci)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR