Mein Unternehmen möchte, dass ungefähr 100 seiner Vertriebsmitarbeiter (im ganzen Land verteilt) gespeicherte Prozeduren von Excel ausführen und die Daten in die Tabelle zurückgeben können.
Wir haben SQL Server 2008. Ich muss einen sicheren Weg finden, um dies zu tun.
Ich werde ein Formular in Excel erstellen, in dem der Benutzer eine Befehlsschaltfläche drücken kann, um die Daten basierend auf den von ihnen ausgewählten Parametern zu aktualisieren.
- Wie kann ich sicherstellen, dass die Verbindung von Excel zum SQL Server sicher ist?
- Wie führe ich eine gespeicherte Prozedur von Excel aus?
Ich fand das sehr gute Informationen: http://office.microsoft.com/en-us/excel-help/connect-to-import-sql-server-data-HA010217956.aspx
Windows-Authentifizierung Wählen Sie diese Option aus, um den Windows-Benutzernamen und das Kennwort des aktuellen Benutzers zu verwenden. Dies ist die sicherste Methode, kann jedoch die Leistung beeinträchtigen, wenn viele Benutzer mit dem Server verbunden sind.
Ich möchte jedoch Ihre Eingabe dazu.
Ja, die Vertriebsmitarbeiter haben Windows-Anmeldungen. Kann ich diese Lösung verwenden, wenn sie tatsächlich die Datenkriterien angeben, die Kriterien an die gespeicherte Prozedur senden und dann die Daten vom Server abrufen?
quelle
Aus Ihrer Beschreibung geht hervor, dass diese Excel-Tabelle als eine Art interaktiver Bericht verwendet wird. In diesem Fall empfehlen wir Ihnen, Reporting Services auszuprobieren. Es ist seit 2005 in jeder Edition von SQL Server enthalten. Auf diese Weise muss für den Zugriff auf den Bericht nur mit einem Webbrowser eine Verbindung zum Berichtsserver hergestellt werden, anstatt direkt zum Datenbankserver zu wechseln. Sie können auch ziemlich ausgefeilte Berichte erstellen, ohne die verrückte VBA-Codierung durchführen zu müssen, die Sie für Excel benötigen (vertrauen Sie mir, ich war dort). Sie können die Berichte in Excel-Dateien exportieren, und die Formatierung funktioniert normalerweise recht gut.
Ich würde dennoch empfehlen, den Berichtsserver hinter einem VPN zu belassen.
quelle