2009-05-21 6 views
2

Ich habe eine Excel-Tabelle, die eine Verbindung zu einer internen DB mit dem odbc-Treiber für die Software (Action Request System) herstellt. Das funktioniert gut. Jetzt versuche ich, die Excel-Datei auf eine SharePoint-Website zu verschieben, damit unser Team die Daten überprüfen und Notizen in derselben Tabelle erstellen kann.ODBC Verbindung mit proprietären Treiber/Excel Trust-Einstellungen

Also zuerst versuchte ich nur die Excel-Datei auf den Server zu verschieben, erkannte aber, dass die in der Datei gespeicherte Verbindung auf die Verbindungsdatei auf meinem Computer zeigte. Also habe ich das auf die SharePoint-Website verschoben, und das scheint zu funktionieren ... Außer:

1) Auf einigen der Computer, es öffnet sich gut. Aber ich würde es bevorzugen, wenn der Dialog, der nach dem Login und PW für die DB fragt, angepasst wurde.

2) Auf anderen Computern sind die Software und die Treiber zwar installiert, aber nicht in der Benutzerquellenliste aufgeführt. Daher wird ein Fehler ausgegeben. Wenn der Benutzer eine neue Verbindung erstellt, ist der Treiber vorhanden (also nicht in der ersten Liste, sondern in der größeren Liste).

3) Macs können die Datei öffnen, aber Excel 2008 kann die Makros und Verbindungen nicht ausführen.

4) Wenn Sie dieselbe Datei von derselben Site öffnen, wird jedes Mal die Trust Center-Warnung angezeigt, selbst auf demselben Computer/demselben Benutzer.

Gibt es eine Möglichkeit, Folgendes zu tun?

  • Haben Sie einen Nicht-Makro, das den Benutzer von Speichern (und damit das Überschreiben) das Blatt hält, bis es, dass der Benutzer nicht auf die Verbindungen/Makros Änderungen bestätigt ist?

  • Erlauben Sie dem Benutzer, sich von einer lokalen Konfiguration zu verbinden (falls sie eine einrichten können, die funktioniert, wenn die wichtigste fehlschlägt), damit sie sich verbinden können, aber nicht für alle anderen vermasseln.

  • Legen Sie die Vertrauensstellungen fest (lokal oder auf dem Server, nehme ich an), so dass alle Dateien von einem bestimmten SharePoint immer vertrauenswürdig sind?

Schließlich, und dies ist der große ...

Können Sie eine Verbindung erstellen einen Treiber nicht auf der lokalen Maschine mit? Wenn der Treiber auf einem Remote-Server installiert ist, kann Excel diesen verwenden? Wenn das der Fall wäre, würde das fast alle anderen Probleme lösen (außer du bist auf einem Mac).

Ich habe das Gefühl, dass ich etwas falsch liege, aber da das Team alle anderen Notizen sehen muss, ist unsere einzige andere Lösung, die Daten (aus der DB) in eine MySQL db hochzuladen, damit sie es können Notizen von ihrem Browser machen. Dies macht es universeller verfügbar, aber zwingt uns, viele Funktionen zu skripten, die in Excel Standard sind, und redundante DBs zu erstellen.

Antwort

0

Erstens, dank der beiden Benutzer, die Antworten zur Verfügung gestellt. Beide von euch waren sehr hilfreich, um mich mit dem Problem zu beschäftigen.

Es stellt sich also heraus, dass AR zwar keine direkte Verbindung zur Action Request-Datenbank herstellen kann, AR jedoch Web Services unterstützt.

Anstatt zu versuchen, Excel, Access, PHP oder irgendein anderes System mit der Erstellung eines Soap-Clients zu machen und die Arbeit selbst zu erledigen, kam ich auf eine Alternative, die ich ziemlich clever finde, wenn ich das selbst sage Erstellt

1) Skript ein pHP, das den Web-Service mit den angeforderten Daten fordert,

2) Das Skript die Antwort in eine generischen XML-Form analysiert,

3) Skript aus Echos die xml:

4) N ame das Skript "AR_Data_Request.xml"

5) Konfigurieren Sie das Verzeichnis über die .htaccess-Datei, XML-Dateien wie PHP

Jetzt zu behandeln, habe ich eine statische XML-Datei, die enthält immer die meisten up-to -date Daten von Aktion anfordern. Ich kann jede andere Anwendung (speziell Excel) auf diese XML-Datei verweisen, anstatt VBA-Code schreiben zu müssen, um den Web-Service direkt abzufragen (und muss es immer noch für PHP tun).

Das einzige Problem ist, dass ich nicht das PHP bekommen kann, um sich mit dem Web Service (doh!) Zu verbinden, aber das wird meine nächste Frage sein.

Danke nochmal!

0

Wow! Zugriff auf das ARS über ODBC! Ich habe dieses Feature dem Architekten vorgeschlagen, als ich in den Neunzigern bei Remedy HQ arbeitete. Großartige Zeiten.

Wie auch immer, ich denke, Ihre Methode, ein Excel-Blatt zu teilen, das sich mit einer ODBC-Quelle verbindet, ist nicht der einfachste Weg. (Wie Sie entdeckt haben.)]

ODBC ist immer ein lokaler Treiber, afaik. Ein Client lokal verbindet sich mit ODBC. ODBC kann dann das Netzwerk verwenden, um eine Verbindung zur Datenbank herzustellen.

Stattdessen empfehle ich, dass Sie die Einrichtung von Access mit einer Tabelle untersuchen, die remote mit dem ARS-System verbunden ist. Sie können dann die Access-Tabelle über File-Sharing im Gegensatz zu einer dbms-Verbindung aus der Ferne öffnen. Ich glaube, dass es einfacher wäre, in Gang zu kommen als Ihr jetziger Weg.

HTH,

Larry

+0

Wo würde die Access DB leben? Beachten Sie, dass dies irgendwann nicht lokal sein sollte. Wenn ich dies auf einem Windows-Server einrichten würde, müsste es den Treiber haben, wenn die ARS DB auf dem gleichen Server ist? – Anthony

+0

Ja, Sie benötigen den ODBC-Treiber für Excel oder Access, um die ARS-DB zu erreichen. Die ARS DB kann lokal oder remote sein. –

0

Es klingt wie Sie einen Benutzer-DSN verwenden, die Verbindung herzustellen. Sie können mit einer Verbindungszeichenfolge zu einer DSN less-Verbindung wechseln. Wenn Sie Hilfe benötigen, können Sie den Code posten, der geändert werden muss?

Verwandte Themen