OVH Cloud OVH Cloud

Acces Données ODBC

2 réponses
Avatar
Eric Blin
Bonjour,

Voila j'ai un fichier excel qui est lié à ma base de donnée par une
connexion ODBC.

Je voudrais déployer mon fichier sur le réseau afin que tout le monde puisse
le consulter.
Mon probléme c'est que j'ai créé surmon poste ce qu'il fallait au niveau
d'ODBC dans Sources de données systèmes et maintenant il faudrait que tout
le monde ait la même chse sur son poste.

Avez vous rencontrer cette problématique et comment la résoudre ?

Merci par avance.

Eric

2 réponses

Avatar
michdenis
Dans la fenêtre du panneau de configuration / Performance et maintenance / outils d'administration
/ ODBC

Tu as 3 possibilités :

Source de données utilisateur : L'information de la source de ta requête
s'inscrit dans la base de registre de l'ordinateur où a été créé la requête
La source de données ainsi créée n'est disponible que pour cet utilisateur

Source de données système : Ceci est similaire à la source de données
utilisateur mais elle est disponible à tous les utilisateurs de l'ordinateur
pas seulement à celui qui a créé la source de données.
(un peu comme profil d'un usager particulier versus profil tous les usagers)

La grosse différence entre les 2 précédents c'est où l'information est stockée
dans la base de registre de l'ordinateur en question.

Source de données fichier : Si tu utilises un fichier comme source de données,
l'information sera contenue dans ce ficher que tu pourras mettre dans un
répertoire partagé à quelque part sur le réseau où chaque usager pourra
l'interpeller. (On parle ici interpeller la source de données, pas le ou les fichiers
Excel créés)
Chaque usager sur le réseau pourra dans la fenêtre
Données / données externes / créer une requête / "Choisir une source de données"
utiliser le bouton "parcourir" pour retrouver sur le réseau la "source de données fichier"
définie afin de l'ajouter aux autres sources déjà disponibles.

Exemple de ce que l'on retrouve dans un fichier DSN
'---------------
[ODBC]
DRIVER=Microsoft Access Driver (*.mdb)
UID­min
UserCommitSync=Yes
Threads=3
SafeTransactions=0
PageTimeout=5
MaxScanRows=8
MaxBufferSize 48
FIL=MS Access
DriverId%
DefaultDir=C:ODBC
DBQ=C:ODBCComptoir.mdb
'----------------------

Tu dois faire la distinction entre définir une source de données
et Exécuter une requête qui est le résultat affché de ta question
(requête) dans une plage de cellules d'une feuille de calcul.

Lorsque tu enregistres ton fichier, Excel emmagasine dans son fichier
toute l'information quant au texte de la requête et l'emplacement du
fichier source ... observe un bout de code d'une requête ODBC dans Excel

'------------------------------
With Worksheets("Feuil1").QueryTables.Add(Connection:=Array(Array( _
"ODBC;DSN=Excel Files;DBQ=" & ThisWorkbook.FullName & ";" & _
"DefaultDir=" & ThisWorkbook.Path & "" _
), Array("cel;DriverIdy0;MaxBufferSize 48;" & _
"PageTimeout=5;")), Destination:=Worksheets("Feuil1").Range("D1"))
.CommandText = Array(Requete)

'.../....

End With
'------------------------------

L'information de la source des données (utilisateur, système ou DSN) fait
parti intégrante de la requête qu'a faite Excel et cette information fait aussi
parti intégrante du fichier lorsque ce dernier est enregistré.

Le fichier excel ainsi généré est indépendant de la manière dont tu lui as
passé "la source des données" ...en autant que l'information
qu'il a enregistré correspond toujours à l'environnement défini par la requête
au moment de l'exéution de la requête.




"Eric Blin" a écrit dans le message de news:

Bonjour,

Voila j'ai un fichier excel qui est lié à ma base de donnée par une
connexion ODBC.

Je voudrais déployer mon fichier sur le réseau afin que tout le monde puisse
le consulter.
Mon probléme c'est que j'ai créé surmon poste ce qu'il fallait au niveau
d'ODBC dans Sources de données systèmes et maintenant il faudrait que tout
le monde ait la même chse sur son poste.

Avez vous rencontrer cette problématique et comment la résoudre ?

Merci par avance.

Eric
Avatar
Eric Blin
Merci pour ta réponse ... mais j'ai fini.

En fin de compte je n'utilise pas les dsn fichiers ni les autres non plus.

J'ai codé cela dans le VBA et voila cela fonctionne.

Cordialement

Eric