Frage

Wir sind ein Teil unserer App als Windows-Dienst ausgeführt werden, und es muss in der Lage b DSNs, um über ODBC zu importieren zuzugreifen. Allerdings scheint es eine Menge von Einschränkungen durch Versuch und Irrtum gefunden werden, auf welcher DSNs darauf zugreifen kann. Zum Beispiel scheint es, dass es nicht kann 1. Zugang eines System DSN es sei denn, das Konto, das den Dienst ausgeführt hat Admin-Rechte. (I Zugriff verweigert Fehlermeldung erhalten, wenn sie versucht, eine Verbindung) 2. Zugriff ein Benutzer DSN, die von einem anderen Benutzer (dies ist verständlich) erstellt wurden. 3. Zugriff auf eine Datei DSN über das Netzwerk

Ich habe gelesen, dass der Zweck einer Datei DSN ist andere Computer zu erlauben, es zu benutzen, zu verbinden, jedoch kann ich nicht, dass die Arbeit zu machen scheint.

hat also jede kennen oder wissen, wo ich, was die Regeln und Einschränkungen alle auf dem Zugriff auf eine DSN herausfinden kann, wenn ein Windows-Dienst. Dank

War es hilfreich?

Lösung

Dies ist irgendwo zwischen # 1 und # 2: manchmal richtige Dateiberechtigungen sind ebenfalls erforderlich. Ich hatte einmal Probleme auf einem Vista-Rechner zu einem DB2-DSN verbinden, weil aus irgendeinem Grunde (vielleicht temporären Dateien zu schreiben, obwohl ich weiß nicht, warum es so etwas in dieser Lage tun würde anstelle einem benutzerspezifischen one) der Fahrer benötigt Schreibzugriff auf das Verzeichnis, in dem IBM die Client-Binärdateien und Bibliotheken installiert hatte, die von einem Administrator durchgeführt worden war und in der Wurzel des C-Laufwerk ein.

Andere Tipps

Ich glaube, Sie haben bereits entdeckt die drei wichtigsten Regeln selbst. : -)

Außer, dass Sie wahrscheinlich Administratorrechte für Ihr Dienstkonto nicht brauchen. IANANA (Ich bin kein Netzwerkadministrator), aber Ihr Dienstkonto wahrscheinlich braucht nur Lesezugriff auf eine der ODBC-Dateien oder Verzeichnisse.

Sie können nicht zugeordnete Laufwerke mit einem Service verbinden. Ein zugeordnetes Laufwerk hat mit Speicher genannt Desktopheaps, die verfolgt die Symbole auf dem Desktop zu interagieren. Dienstleistungen haben keinen Zugriff auf diesen Speicher. Wenn Sie ein dsn verwenden, haben eine SystemDSN erstellen. besser wäre es, eine Verbindungszeichenfolge zu verwenden und speichern, dass in der app.config und verwenden Sie die Verschlüsselung api den Benutzernamen und das Passwort zu verschlüsseln.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top