IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Conexion BDD SQL Server


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    125
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2008
    Messages : 125
    Par défaut Conexion BDD SQL Server
    Bonjour a tous,

    Voila, je débute avec ASP .Net et je dois réaliser un dite web un peu particulier, à un point même que je me demande même si c'est réalisable.

    Voici le problème :
    je dois déployer un site web sur un serveur web avec base de données sql server. Lorsque les utilisateurs accèdent a une certaine page aspx, je dois effectuer une insertion dans une base de données. Le gros "HIC", c'est que comme le site web en question peut être pour plusieurs clients, qui n'ont pas forcément le même nom de base de données, il faudrait pouvoir trouver un moyen de récupérer les identifiants de connexion au server sql (Odbc, Registre, ini, etc.), lors de l'installation du site web poar exemple, avec un msi ou autre, afin que la page affichée au client puisse effectuer son insertion dans la base. Je pensais donc à diverses solutions, Odbc, base de registre, ini, etc. Mais je ne sais pas trop comment faire, et quelle est la meilleure solution

    j'espère avoir été assez claire dans mes explications, et pouvoir trouver mon bonheur auprès de vous tous.

    je vous remercie beaucoup pour vos réponses.

  2. #2
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    125
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2008
    Messages : 125
    Par défaut
    bon, ne trouvant pa de solution, je me suis tourné vers la création d'un control activeX. Cependant, j ai suivi le tuto du site microsoft : Lien Microsoft

    Sauf que mon userControl n'apparait pas Si quelqu'un pouvait m'aider, sa serait super sympa, voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    <%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
     
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
     
        <object id="myControl1" name="myControl1" classid= "Bin/ClassLibrary2.dll#ClassLibrary2.UserControl1" height= "548" width = "476">
        </object>
     
        </div>
        </form>
    </body>
    </html>

  3. #3
    Membre éclairé Avatar de MicaelFelix
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    254
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 254
    Par défaut
    Salut,

    Question de débutant : ta solution avec <object> c'est du server side ou du client side? Je demande ça parce qu'il n'y a pas runat="server" donc ça fait penser à une requête qui est faite par le navigateur de la personne qui visite le site...
    Je pose la question parce que si c'est fait au niveau du navigateur du visiteur, je te déconseillerai de l'utiliser pour plusieurs raisons : 1. C'est plus lent pour l'utilisateur "final" et ça peut être mal interprété par le navigateur, donc pas fiable, 2. C'est "visible" au niveau du code donc ça augmente le nombre de hacks externes potentiels

    Moi je peux te suggérer une solution server-side avec les WebService. Tu peux aussi utiliser une connexion par socket (ou tout autre genre de connexion vers des serveurs externes) aussi.

    Tu es obligé de faire l'insertion dans une BD qui n'est pas à toi? Bizarre...
    En premier il faut vérifier si tu peux le faire, car y'a des limitations parfois sur les serveurs SQL qui n'acceptent aucune requête en provenance d'autres réseaux (surtout quand c'est des environnements avec des hébergements partagés, je sais qu'au niveau d'un de mes hébergeurs PHP on peut faire une "exception" (autorisation) en donnant l'adresse IP de notre serveur qui va accéder à la base de données MySQL, car par défaut toutes les demandes sont rejetées, mais bon ça, ça dépend de ton environnement de développement et des contraintes qui y sont liées).

    Moi je verrais ça comme ça :
    1. Ton serveur avec une interface pour que tes clients puissent entrer les infos de leurs serveurs SQL
    2. Créé un service Web qui va pouvoir être accédé à partir d'autres sites et qui aura une méthode du genre :
    InscrireDansBD(monIdentifiantDeSite,monPassword)
    Noter qu'au niveau de la sécurité le mieux c'est que ça soit encrypté (en plus de l'encryption md5 du password utiliser SSL)
    3. Le site du "Client" n'aura alors qu'à faire appel à ton WebService (ça demande un "effort" de programmation pour tes clients), et le WebService n'aura qu'à identifier le site client qui fait appel, et ensuite il se connectera à distance sur le serveur SQL du client pour y faire son INSERT

    Côté performance ça risque d'être lourd : un appel vers un serveur externe par page vue? Argh! Mais bon ça si tu es obligé de le faire... c'est une contrainte nécessaire.

    Côté identification, je "suppose" qu'on peut détecter l'IP de la machine appelant le service, tu pourrais donc faire une authentification par IP, mais bon ça requiert une IP Fixe de tes clients, ce que beaucoup n'ont pas.

    Je ne suis pas un expert dans le domaine mais bon comme personne n'a répondu, je te propose ça ^^

  4. #4
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    125
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2008
    Messages : 125
    Par défaut
    Salut MicaelFelix,

    Merci pour ta réponse. En fait, je connais les identifiants de connexions des serveurs SQL, le nom de la BDD aussi, donc pas de soucis a ce niveau, je l'ai intégrer dans un service Web comme tu me le propose.

    En fait, mon premier problème était de parcourir le poste du client à la recherche des fichuiers PST, et de lui afficher dans une page web. Mais comme l'ASP s'éxécute coté serveur (dis moi si je me trompe car je ne suis qu'un débutant ), je me suis dirigé vers une autre solution qui est le JavaScript. j'arrive a lister les lecteurs, mais je n'arrive toujours pas à faire une recherche recursive dans celui ci. Si tu as des idées la dessus, je suis preneur

    En tout cas, merci beaucoup pour tes conseils et ton aide bien précieuse !!!

  5. #5
    Membre éclairé Avatar de MicaelFelix
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    254
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 254
    Par défaut
    JavaScript n'est pas la solution pour ça, sauf si tu décides de hacker javascript
    Tu ne pourrais pas non plus le faire en applet Java, ni en Flash, car -à moins que ça ai changé dernièrement (j'en doute!) - c'est impossible.

    Imagine le niveau de sécurité des sites web si jamais on s'amusait à récupérer des informations en récupérant le nom des fichiers du client (ou toute autre information)... ça serait totalement insécuritaire.

    Ta solution serait en effet sur ActiveX, mais ça requiert une installation chez le client et ça serait limité à Internet Explorer.
    Je ne m'y connais pas assez en ActiveX pour te donner plus d'informations, mais je sais que moi si je vais sur un site qui demande d'installer un ActiveX, je quitte, car justement je sais que quand on donne le droit à IE d'utiliser l'ActiveX, les données personnelles de notre ordinateur pourraient être utilisées (c'est comme exécuter un programme avec tous les droits).

  6. #6
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    125
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2008
    Messages : 125
    Par défaut
    Merci MicaelFelix mais concernant ta réponse sur JavaScript, je viens justement de trouver des sources sur Internet qui permettent de faire sa, lister des répertoires, rechercher des fichiers Lien mais bon, j 'avoue que sa commence a devenir complex

    J ai essayé aussi l'activeX comme tu le mentionne et comme je le mentionne un peu plus haut, mais j ai un problème que je n'arrive pas à résoudre...

    En fin... En tout cas, merci a tous pour vos réponses, je vais peut être finir par trouver une solution concrète !

Discussions similaires

  1. Fusion BDD SQL Server
    Par nadja dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 04/07/2006, 16h03
  2. [VB.NET] Importation données Excel pour alimenter BDD Sql Server
    Par Aphrauditte dans le forum Windows Forms
    Réponses: 5
    Dernier message: 03/05/2006, 16h24
  3. Accéder à une bdd SQL server via un pc distant
    Par shako95 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 06/12/2005, 22h38
  4. Erreur de connexion à une BDD SQL Server 2000 avec BDE
    Par SchpatziBreizh dans le forum Bases de données
    Réponses: 3
    Dernier message: 17/06/2005, 11h22
  5. manipuler une bdd sql server en MFC ou excel ?
    Par roninou dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 18/10/2004, 11h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo