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 :

[C#] Comment ouvrir une base Access distante manuellement ?


Sujet :

ASP.NET

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 141
    Points : 109
    Points
    109
    Par défaut [C#] Comment ouvrir une base Access distante manuellement ?
    Bonjour à tous,

    Après avoir passé pas mal d'années avec Delphi et PHP, je fais mes premiers pas sur DotNet avec Visual Studio 2005.

    Mon premier projet porte sur un site en ASP 2.0 connecté à une base de données Access.

    En local, je n'ai aucun problème de connexion à la base de données Access et selon les deux modes possibles : drag and drop d'un composant AccessDataSource ou connexion à la mano avec le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    string connectionString = @"Driver={Microsoft Access Driver (*.mdb)};DBQ=C:\\Bidou\\Essai.mdb;";
            System.Data.Odbc.OdbcConnection MyConnection = new System.Data.Odbc.OdbcConnection(connectionString);
            System.Data.Odbc.OdbcCommand cmd = new System.Data.Odbc.OdbcCommand(sqlstring);
            cmd.Connection = MyConnection;
            MyConnection.Open();
    Chez l'hébergeur, en distant, pas de problème avec la page comportant un AccessDataSource. Donc il n'y a priori pas de problème de configuration ou de serveur. Par contre ma procedure manuelle provoque une erreur.

    Les pages sont accessibles dans un dossier htdocs, la base Essai.mdb se trouve dans un dossier database. L'Accessdatasource qui fonctionne est configuré comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AccessDataSource ID="AccessDataSource1" runat="server" DataFile="./database/Essai.mdb"
    Après beaucoup de recherches sur Internet, dans la procedure manuelle citée ci dessus j'ai essayé pas mal de variantes sans succès :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    string connectionString = @"Driver={Microsoft Access Driver (*.mdb)};DBQ=./database/Essai.mdb;"; 
    avec ./htdocs/database/Essai.mdb idem
    ou encore
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string connectionString = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source = /database/Essai.mdb";
    déclenche l'erreur suivante :
    Server Error in '/' Application.
    D'autre part le provider me fournit un lien DSN portant un nom genre "Lien123345555666". Si je donne cette valeur à connectionString toujours même erreur...

    Si quelqu'un se demande pourquoi je m'emm... alors que l'accessdatasource fonctionne c'est que les composants ne me donnent pas satisfaction. J'ai besoin d'imbriquer deux requêtes dont je compte renvoyer les réponses par des Response.Write

    Quelqu'un pourrait il m'aider ?

  2. #2
    Membre actif Avatar de quanou
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    311
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 311
    Points : 247
    Points
    247
    Par défaut
    Salut,
    Pas sûr de comprendre ce que tu veux faire et dire par "manuel".
    Quoi qu'il en soit, j'utilise plutot SqlDatasource plutot que AccessDatasource meme pour une base Access, car le premier est plus "riche" :
    http://aspnet.4guysfromrolla.com/articles/022206-1.aspx
    A+
    Nous tenir au courant lorsqu'on fait l'effort de vous répondre...

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 141
    Points : 109
    Points
    109
    Par défaut
    Merci pour ta réponse Guanou...

    Pas sûr de comprendre ce que tu veux faire et dire par "manuel".
    Je voulais dire sans utiliser le composant AccessDataSource. Mais grâce à ton lien j'ai vu comment on pouvait poser le composant de connexion et faire la petite cuisine à côté. Cela marche parfaitement.

    Les articles présents sur le site ont l'air excellent...

    Merci...

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 141
    Points : 109
    Points
    109
    Par défaut
    Je rajoute un élément car grâce à Guanou, j'avais avancé mais pas vraiment répondu à ma problématique à savoir ne pas utiliser un AccessDataSource.

    J'utilisais naturellement la mauvaise syntaxe.

    D'autre part le provider me fournit un lien DSN portant un nom genre "Lien123345555666".
    Cela s'utilise comme cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "DSN=myDsn;Uid=username;Pwd=;"
    Et quand j'ai mis

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string connectionString = "DSN=Lien123345555666;";
    Impec...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 20/10/2011, 09h32
  2. Comment ouvrir une base access quand
    Par AlexFred dans le forum Sécurité
    Réponses: 2
    Dernier message: 09/06/2010, 19h04
  3. Comment ouvrir une base vide avec OleADO sans Access
    Par blondelle dans le forum C++Builder
    Réponses: 12
    Dernier message: 06/03/2007, 13h34
  4. Comment ouvrir une base Access protègée par mot de passe
    Par Le Pharaon dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 26/09/2006, 13h53

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