Se connecter avec
S'enregistrer | Connectez-vous

Base de données MS Access sur serveur

Dernière réponse : dans Programmation

J'utilise des bases de données MS Access.
Je les exploite soit par des applications développées en Delphi 2005.
J'utilise les connections ADO.
Cela fonctionne
  • pour mon site Web qui est sur le même serveur que la base
  • pour MS Access si la base est sur mon PC
  • pour une application VCL si la base est sur mon PC
  • l'hébergeur m'a dit que ce n'était pas possible d'accéder à la base sur le serveur avec MS Access (?) (pourtant MS Access la voit via le serveur FTP mais l'accès à la table est impossible)

    Je voudrais donc créer une application VCL qui accède à la base sur le serveur pour la modifier facilement sans faire de copie de bases entre serveur et PC. Si j'ai bien compris, il faut une liaison RDS avec objet datafactory sur le serveur.

    Auriez-vous un exemple concret et simple (ou un lien) de ce type d'architecture car je ne sais comment commencer, butant sur de nombreuses questions pratiques.

    Merci d'avance
  • Autres pages sur : base donnees access serveur

    Lassé par la pub ? Créez un compte

    Même un exemple inutile qui ouvre une simple table.
    Pour voir comment on crée un service sur le serveur (une page html?, une page aspx?, ...?).
    Comment on l'appelle?
    Quand j'aurais ces deux "coquilles", je saurais me débrouiller.

    Merci

    Je voudrais créer un site de e-commerce (mais modeste).
    J'ai une base de donnée des produits sur le serveur du site.
    Le site web y accède pour afficher les produits.

    Je dois donc mettre à jour égulièrement cette base.
    Je le fais actullement en copiant la base sur le PC en la modifiant par MS Access pour en la remettant sur le serveur d'où risque d'erreur de manip, surtout si je délègue la tâche.

    Pour la modifier in situ, j'ai deux solutions:
    - créer un site administrateur pour modifier cette base (je sais faire)
    - créer une application VCL Delphi chez le client mais qui accède directement à la base.

    La deuxième solution me semble offir plus de souplesse dans la présentation.
    Mais si j'ai bien compris, pour accéder à la base, je ne peux pas utiliser un objet OleDbConnection (Provider=Microsoft.Jet.OLEDB.4.0) car la base n'est pas sur le même site que l'appli.
    Il faut utiliser un objet RDSConnection qui appelle un service contenant l'objet Datafactory.
    Or, en cherchant sur le sujet, je tombe sur des exemples de service Web utilisant XML ou SOAP, etc qui me parraissent démesurés par rapport aux besoins.
    Le service Datafactory doit se borner à
    - interroger la base
    - mettre en forme la table
    - me l'envoyer
    - executer des Tquery pour les modifs

    Maintenant, il y a peut-être un moyen de se connecter directement avec OleDbConnection mais je ne sais pas configurer la ConnectionString pour une base qui n'est pas sur le même lieu.

    Merci

    Normalement tu as les composants natifs de Delphi "DbExpress" qui gère, oracle, mySQl, Interbase, MSSQL.... tu ne passes pas par un ADO, ODBC, BDE ou autre. Tu attaques la base de données directement (nettement plus rapide, plus stable mais un peu plus compliquer à mettre en oeuvre)

    En effet Access donne un peu court pour ce genre d'application... Access reste une database pour gérer une base de donnée monoposte (et c'est une base de données monoposte)

    Et quand tu dis "J'ai aussi installé MySql mais c'est pas très convivial." c'est que tu as appris sur Access uniquement en visuel et assisté. Dans la pratique ce n'est pas le cas. Quasiment dans toutes les bases de données, tu dois écrire manuellement les ordres, script.... et c'est comme cela que tu apprends.

    regarde également sur le site http://www.developpez.com/ qui donne de très bon tutoriaux sur les databases et Delphi.

    Merci de vos réponses.
    Je récapitule:
    - OBDC, ADO, etc: on oublie car couches supplémentaires.
    - on prend db Express car moins spécifique que IBX
    - on choisit Interbase, fireBird, ou MySQL

    Interbase:
    - Convivial
    - Payant (mais inclus dans Delphi 2005)
    - Utilisable à volonté pour des sites Web puisque c'est l'hébergeur qui fournit le serveur
    - Faut-il bien installer le serveur Interbase (et donc payer une license) sur chaque site où on installe une application locale? (60 euros pour un gestionnaire de carnet d'adresse ou du même genre, c'est raide. 150 euros pour un accès en réseau).

    fireBird:
    - Gratuit
    - Convivial ou comme MySQL??
    MySQL:
    - Gratuit
    - Pas utilisable par un client donc obligé de créer une application pour gérer la base.

    Citation :
    Merci de vos réponses.
    Je récapitule:
    - OBDC, ADO, etc: on oublie car couches supplémentaires.
    - on prend db Express car moins spécifique que IBX
    - on choisit Interbase, fireBird, ou MySQL

    Interbase:
    - Convivial
    - Payant (mais inclus dans Delphi 2005)
    - Utilisable à volonté pour des sites Web puisque c'est l'hébergeur qui fournit le serveur
    - Faut-il bien installer le serveur Interbase (et donc payer une license) sur chaque site où on installe une application locale? (60 euros pour un gestionnaire de carnet d'adresse ou du même genre, c'est raide. 150 euros pour un accès en réseau).

    fireBird:
    - Gratuit
    - Convivial ou comme MySQL??
    MySQL:
    - Gratuit
    - Pas utilisable par un client donc obligé de créer une application pour gérer la base.


    Il existe Interbase 6.0 en Opensource donc gratuit. Le fireBird est plus ou moins identique à Interbase 7.5 et gratuit. Une base de données FireBird tourne sur Interbase sans grand changement.
    Interbase est fournis pour Dephi 2005 mais tu n'as pas le droit de le déployer sur les autres postes. C'est une licence de développement.

    En effet la licence serveur Interbase Desktop est indispensable pour une application monoposte. Après pour la version réseau, c'est une version Serveur + une licence user sur chaque poste à distant.
    Il existe une licence Web pour interbase 7.5 pour le multiutilisateur.
    Mais si c'est uniquement pour un carnet d'adresse le FireBird suffit largement.

    Si tu parts sur Interbase ou FireBird, il faut prendre les composants adaptés donc les ibExpress

    Je crois que le dernier MySQL est payant (pas sûr)

    En effet c'est uniquement les services supplémentaire qui sont payants (et le support).

    Donc
    s'il veut héberger sur son ordinateur : FireBird ou MySQL
    S'il veut le donner à héberger (ou pense à le donner) : mySQL car je ne pense que l'hébergeur a FireBird installé.
    Lassé par la pub ? Créez un compte