2009-05-21 22 views
2

J'ai une feuille de calcul dans Excel qui se connecte à un DB interne en utilisant le pilote ODBC pour le logiciel (Action Request System). Cela fonctionne bien. Maintenant, j'essaie de déplacer le fichier Excel vers un site SharePoint afin que notre équipe puisse examiner les données et prendre des notes dans la même feuille de calcul. Donc, j'ai d'abord essayé de déplacer le fichier Excel sur le serveur, mais j'ai réalisé que la connexion enregistrée dans le fichier pointait vers le fichier de connexion sur mon ordinateur. Donc, j'ai déplacé cela sur le site SharePoint, et cela semble fonctionner ... Excepté:ODBC se connecter avec pilote propritary/Excel paramètres de confiance

1) Sur certains ordinateurs, il s'ouvre très bien. Mais je préférerais que la boîte de dialogue qui demande le login et pw pour la BD soit personnalisée.

2) Sur les autres ordinateurs, le logiciel et les pilotes sont installés, mais n'apparaissent pas dans la liste des sources de l'utilisateur, ce qui génère une erreur. Lorsque l'utilisateur va créer une nouvelle connexion, le pilote est là, (donc ce n'est pas dans la première liste, mais c'est dans la plus grande liste).

3) Les Mac peuvent ouvrir le fichier, mais Excel 2008 ne peut pas effectuer les macros et les connexions. 4) L'ouverture du même fichier à partir du même site renvoie à chaque fois l'avertissement Trust Center, même sur le même ordinateur/même utilisateur.

Existe-t-il un moyen d'effectuer l'une des actions suivantes?

  • Avoir un non-macro qui empêche l'utilisateur d'enregistrer (et ainsi écraser) la feuille jusqu'à ce qu'il soit confirmé que l'utilisateur ne sera pas modifier les connexions/macros? Autoriser l'utilisateur à se connecter à partir d'une configuration locale (au cas où ils peuvent en créer un qui fonctionnera lorsque le principal échoue) afin qu'ils puissent se connecter en utilisant celui-là, mais ne pas le gâcher pour tout le monde.

  • Définir les paramètres de confiance (local ou sur le serveur, je suppose) de sorte que tous les fichiers d'un SharePoint spécifique sont toujours approuvés?

Enfin, ce qui est le grand ...

Pouvez-vous créer une connexion à l'aide d'un pilote non sur la machine locale? Si le pilote est installé sur un serveur distant, Excel peut-il l'utiliser? Si tel était le cas, cela résoudrait presque tous les autres problèmes (sauf si vous êtes sur un Mac).

J'ai l'impression d'aller un peu mal, mais comme l'équipe a besoin de voir les notes des autres, notre seule autre solution est de télécharger les données (de la DB) dans une base de données MySQL pour qu'elles puissent prendre des notes depuis leur navigateur. Cela le rend plus universellement disponible, mais nous force à écrire de nombreuses fonctions standard dans Excel et à créer des bases de données redondantes.

Répondre

0

D'abord, merci aux deux utilisateurs qui ont fourni des réponses. Vous avez tous les deux été très utiles pour comprendre le problème. Par conséquent, il s'avère que même si vous ne pouvez pas vous connecter directement à la base de données Action Request DB, AR prend en charge les services Web. Plutôt que de tenter de faire d'Excel, Access, PHP, ou tout autre système traitant de la création d'un client de savon et de gérer le travail eux-mêmes, je suis venu avec une alternative que je pense est assez intelligent, si je le dis moi-même :

1) a créé un script php qui appelle le service Web avec les données demandées,

2) le script analyse la réponse dans un script sous forme de XML plus générique,

3) fait écho à la xml

4) N le script ame « AR_Data_Request.xml »

5) Configurez le répertoire, via le fichier .htaccess, pour traiter les fichiers xml comme php

Maintenant, j'ai un fichier xml statique qui contient toujours le plus à -date les données de la demande d'action. Je peux pointer toutes les autres applications (en particulier Excel) vers ce fichier XML au lieu d'avoir à écrire du code VBA pour interroger le service Web directement (et encore à faire pour php).

Le seul problème est que je ne peux pas obtenir le php pour se connecter au service Web (doh!) Mais ce sera ma très prochaine question.

Merci encore!

0

Wow! Accès à l'ARS via ODBC! J'ai proposé cette fonctionnalité à l'architecte lorsque j'ai travaillé au Remedy HQ dans les années 1990. Bons moments.

De toute façon, je pense que votre approche de partage d'une feuille Excel qui se connecte à une source ODBC n'est pas le chemin le plus facile. (Comme vous l'avez découvert.)]

ODBC est toujours un pilote local, afaik. Un client localement se connecte à ODBC. ODBC peut ensuite utiliser le réseau pour se connecter à la base de données.Au lieu de cela, je suggère que vous étudiez la configuration d'Access avec une table qui est connectée à distance au système ARS. Vous pouvez ensuite ouvrir à distance la table Access via le partage de fichiers, par opposition à une connexion dbms. Je crois que ce serait plus facile à faire que votre chemin actuel.

HTH,

Larry

+0

Où la base de données Access serait-elle active? Gardez à l'esprit que, à un moment donné, tout ceci devrait être non local. Si je l'ai configuré sur un serveur Windows, aurait-il besoin d'avoir le pilote si la base de données ARS est sur le même serveur? – Anthony

+0

Oui, vous avez besoin du pilote ODBC pour Excel ou Access pour accéder à la base de données ARS. La base de données ARS peut être locale ou distante. –

0

On dirait que vous utilisez une source de données utilisateur pour établir la connexion. Vous pouvez passer à une connexion DSN moins en utilisant une chaîne de connexion. Si vous avez besoin d'aide, pouvez-vous poster le code qui a besoin d'être modifié?