|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() |
Bonjour,
je développe actuellement une application lourde en C# (Visual Studio 2010). Cette application sera installée sur plusieurs postes sous XP distants les uns des autres, et fait des accès à une base de données Access 2010 (on ne se refuse rien...) unique qui doit être accessible par tous les postes (intégrité des informations). J'ai tout d'abord testé la création d'un réseau VPN, et l'ai géré dans mon application. La base de données se situait donc sur mon serveur VPN. Après test, il s'avère que les temps de réponse sont affreusement longs ! Du coup, je me demande comment faire pour héberger ma base de données sur internet pour que les temps de réponse soient inférieurs à 3 secondes. (temps via ma solution en VPN : 11 secondes). Auriez-vous une solution à proposer ? Quelqu'un aurait-il l'âme assez charitable pour me sortir de ce bourbier infâme dans lequel mon esprit s'embourbe un peu plus à chaque sursaut d'inventivité confuse et finalement frustrée ? |
|
|
00
|
|
|
#2 |
![]() ![]() |
Si Access n'a pas changé depuis que je l'ai quitté (version 97), ce n'est vraiment pas un bon choix pour une BDD en ligne car la BDD est un fichier qui doit être chargé sur le réseau pour le poste client puisse l'utiliser.
Passe à un vrai serveur de bases de données. Et puisque tu travailles avec les logiciels de Petitmou, tourne toi vers MS SQL Server.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
10
|
|
|
#3 |
|
Invité de passage
![]() |
Le truc, c'est que du coup, c'est la licence qui va coûter cher. J'ai opté pour Access parce que la licence était déjà présente sur le poste.
Aucune solution pour mettre ce tout petit fichier qu'est ma base en ligne alors ? |
|
|
00
|
|
|
#4 |
![]() ![]() |
MS SQL Server Express est gratuit mais limité à des BDD de 10 Go je crois.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
00
|
|
|
#5 |
|
Invité de passage
![]() |
D'accord, et une telle BDD serait accessible comment à des applications lourdes ? Je n'ai que peu de connaissances en réseaux, les seuls que j'ai abordés étant les réseaux VPN.
Pour information, et en solution de secours, comment ferais-tu pour rendre ma base access accessible par le net rapidement sans passer par le VPN (trop lent) ? |
|
|
00
|
|
|
#6 |
![]() ![]() |
Pour ça, il faut t'adresser au forum C#.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
00
|
|
|
#7 |
|
Invité de passage
![]() |
Même pour rendre ma base access accessible via le net ? ^^ (je continue sur ma lancée, mais tout ce que j'ai déjà conçu se base sur la-dite base access, et ça me fait un peu mal de recommencer de zéro...)
|
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() |
Une autre question : SI j'opte pour un serveur de BDD SQL Server (que je connais bien, mais l'utilisation que j'en ai eue était principalement en local), le temps de réponse de ma BDD sera-t-il plus performant que le temps de réponse de ma base Access par VPN ? Si oui, de quoi viendrait la différence ?
|
|
|
00
|
|
|
#9 |
![]() ![]() |
SQL Server est un vrai SGBDR très performant.
Access est conçu pour une utilisation monoposte. Mais un expert tel SQLPro saura mieux te renseigner que moi.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
00
|
|
|
#10 |
|
Invité de passage
![]() |
Merci de tes réponses en tout cas, et du temps que tu m'as consacré. Heureusement que des personnes de bonne volonté existent encore.
|
|
|
10
|
|
|
#11 |
|
Membre Expert
![]() Inscription : mars 2005 Messages : 1 565 ![]() |
SQL Server permet de se connecter en TCP/IP, donc oui vous pouvez l'utiliser à distance à travers le net.
Les performances n'auront rien à voir avec access que ce soit en interne au sein du SGBD mais aussi sur la partie communication avec le client. J'ai utilisé SQL Server pour une appli déployée en partie sur le même réseau que le serveur et une autre partie qui y accédait à travers une mauvaise connexion internet (2Mb/512Kb). Les temps de réponses y était parfaitement convenables (< 250ms la plupart du temps). |
|
|
10
|
|
|
#12 | |
|
Expert Confirmé Sénior
![]() Développeur informatique Inscription : novembre 2006 Messages : 4 215 ![]() |
Hello,
Citation:
Sinon tu peux faire ta couche réseau via des sockets en C# et envoyer des requêtes SQL sous formes de messages réseau c'est tout simple. Autre possibilité c'est d'acheter des classes .NET toutes faites pour cela ( par exemple Simba..) Le problème via ODBC c'est que c'est un peu plus lent qu'en natif.
__________________
Alea Jacta Est |
|
|
|
00
|
|
|
#13 | |
|
Expert Confirmé Sénior
![]() Développeur informatique Inscription : novembre 2006 Messages : 4 215 ![]() |
Citation:
C'est le moteur de SQL-Server qui met tout cela en tampon ( je suppose ) et qui gère tout cela. Si tu tentes de faire plusieurs m.a.j. sur une base Access avec plusieurs connexions clientes elles ne se feront pas parce que le moteur Jet risque de verrouiller en mode exclusif. Et puis Access ne gère pas les Commit et Rollback...
__________________
Alea Jacta Est |
|
|
|
00
|
|
|
#14 |
![]() ![]() ![]() David BARBARINExpert SQL Server Inscription : août 2005 Messages : 3 723 ![]() |
Access et SQL Server ne fonctionnent pas du tout sur la même architecture.
Access fontionne en mode fichier alors que SQL Server fonctionne en mode client / serveur. Cette différence peut être notoire quand on parle de données qui transitent sur le réseau. Avec Access vous êtes obligé de charger l'ensemble de vos données à travers le réseau et le client effectue tout le reste (tri, restriction etc ...). Avec SQL Server tout le travail se passe sur le serveur et le résultat final est restitué au client. Ensuite d'autres contraintes vont entrer en jeu comme la gestion des transactions, le nombre d'utilisateurs simultanés qui utiliseront vos données etc ... Pouvez vous nous en dire plus ? ++ |
|
20
|
|
|
#15 |
|
Invité de passage
![]() |
Tout d'abord merci à tous de vous être donné la peine de me répondre.
Après avoir constaté l'échec de mes expériences VPN (un peu dégoûté, mais content d'avoir appris quand même) je me suis finalement orienté vers du sql server. L'architecture de l'appli sera donc la suivante : - 4 postes distants les uns des autres (donc du TCP/ip à prévoir) sur lesquels seront installés une application lourde (en C#). - Sur deux des quatre postes, une instance de sql server qui contiendra ma base de données. Si la connexion internet de la base principale vient à foirer et que ladite base devient inaccessible, on passe sur l'autre pour ne pas planter toute l'application, et on fait les mises à jour nécessaires lorsqu'on détecte que la base de données redevient accessible. (un peu confuse la phrase, j'admets) Il y aura donc au maximum 4 personnes qui taperont potentiellement sur la base au même moment (cela reste improbable, mais possible, donc à prévoir). Les choses sont plus ou moins claires dans ma tête, mais je me heurte actuellement au fonctionnement quelque peu imperméable de SQL Server 2008. En effet, après avoir écumé les forums, j'en suis venu à la conclusion que j'étais une bille en base de données et en réseaux. Mon problème vient de la mise en réseaux de ma BDD. Pour résumé, voici ce que j'ai fait : Mon poste hébergeant ma BDD tourne sous xp familial, la connexion internet se fait via une livebox d'orange sur laquelle j'ai ouvert le port 1433 et j'ai redirigé ce port vers l'adresse ip de ma bdd (type 192.168.x.x). Le premier hic, c'est que quand je tente un ping local de cette adresse ip, ben c'est un flop... |
|
|
00
|
|
|
#16 | |||
|
Expert Confirmé Sénior
![]() Développeur informatique Inscription : novembre 2006 Messages : 4 215 ![]() |
Citation:
tout cela me semble incroyablement compliqué. Si tu veux créer des connections sur SQL-Server c'est chose très simple, avec LINQ en .NET tu peux ouvrir une ou plusieurs connections. Je ne comprends pas pourquoi utiliser TCP-IP/ Le fonctionnement de SQL Server n'est pas du tout imperméable il y a le MSDN en ligne tout est expliqué. Citation:
En général une base de donnée SQL-Server s'installe sur un seul poste. Citation:
Il faut impérativement XP Pro 2 je ne coomprends vraiment pas pourquoi ouvrir une connection Internet comme tu fais
__________________
Alea Jacta Est |
|||
|
|
00
|
|
|
#17 |
|
Invité de passage
![]() |
les quatre postes sont sur 4 sites différents avec des connexions internet distinctes.
La mise en réseau de la BDD se fait donc de toute façon par internet, non ? Le système des deux bases sont le seul moyen que j'ai pu trouver pour assurer que l'application fonctionnera tout le temps. Les contrôles d'intégrité feront l'objet d'un codage bien spécifique (un spool de requêtes en attente, par exemple). |
|
|
00
|
|
|
#18 | ||
|
Expert Confirmé Sénior
![]() Développeur informatique Inscription : novembre 2006 Messages : 4 215 ![]() |
Citation:
Citation:
Et puis il faut s'assurer que les données des deux bdd soient rigoureusement identiques...
__________________
Alea Jacta Est |
||
|
|
00
|
|
|
#19 |
|
Invité de passage
![]() |
Je suis bien d'accord que le développement pour assurer l'intégrité des données sera relativement lourd. J'ai prévu de développer un module spécifique. La finalité est ici une accessibilité constante de l'application.
Pour ce qui est de la connexion à la BDD, tu m'intéresses si tu me dis que c'est simple, parce que je me suis embarqué dans un truc assez compliqué. Du coup si tu peux éclairer ma lanterne... Tu as un xp home avec sql server 2008 (désolé mais pour le xp pro on peut rien faire). Tu as un autre poste, distant, à partir duquel tu veux tester ta connexion à ta BDD "BDDTEST". Comment tu fais ? ^^ |
|
|
00
|
|
|
#20 |
|
Expert Confirmé Sénior
![]() Développeur informatique Inscription : novembre 2006 Messages : 4 215 ![]() |
Salut Julien
je n'ai pas SQL-Server sous la main mais on peut faire cela via le panneau de configuration et choisir ODBC.Là on peut spécifier une adresse IP,un numéro de port et tutti quanti. (Pour MySQL c'est pareil) Ceci se fait sur le ou les postes clients. Sur le client il est impératif d'installer le "service" qui tourne en tâche de fond pour se connecter au serveur. http://sqlserver.developpez.com/faq/
__________________
Alea Jacta Est |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com