Archiv des Autors: pkillert

Powershell: ODBC Schnittstellen erneuern

Sie kennen das vielleicht: endlich wurde der Datenbankserver erneuert und auf den neuesten Stand gebracht. Es gibt zahllose Anwendungen, die über Microsoft Access oder Excel auf den Datenbestand zugreifen. Dafür haben Sie vor Jahren eine ODBC Schnittstelle bei jedem User eingerichtet. Jetzt sind die User aber alle im HomeOffice oder aus zwei oder drei Usern wurden mittlerweile Dutzende, die mit ihren Programmen arbeiten.

Nun, dieser Beitrag aus dem Bereich „Coding“ erklärt. wie Sie diese Schnittstellen über Powershell bei allen Nutzern gleichzeitig aktualisieren können. Wie Sie so ein Script per Mail und mit der Hilfe von VBScript mühelos verteilen können, hatte ich in dem ersten Beitrag der Serie erklärt. Dieses Script wäre also jetzt eine neue Variante von „MeinPowershellScript.ps1“.

Import-Module Wdac
Remove-OdbcDsn -Name "MeineODBC_Verbindung" -Platform "32-bit" -DsnType "User"
Add-OdbcDsn "MeineODBC_Verbindung" -DriverName "ODBC Driver 17 for SQL Server" -DsnType User -Platform 32-bit -SetPropertyValue @("Server=SERVERADRESSE", "Trusted_Connection=Yes", "Database=MeineDatabase") -PassThru

Dazu muss ich einiges erklären. Import-Module Wdac ist zwingend notwendig. Damit werden in das Powershellscript die Windows Data Access Components geladen. Diese beinhalten die beiden nachfolgend genutzten Befehle.

Zunächst entfernen wir die vorhandene, veraltete ODBC Verbindung namens „MeineODBC_Verbindung“ mit Remove-OdbcDsn. Warum? Nun ich gehe davon aus, das der Name der ODBC Verbindung schon in zahlreichen Tools genutzt wird, z.B. als Datenquellen in AccessDatenbanken. Damit sie diese nicht neu umschreiben müssen, nutzen wir für die neue ODBC Verbindung die gleiche Bezeichnung. Und dazu müssen wir die alte erst entfernen.

Bitte beachten Sie, dass Sie auf User-Ebene in ihrem Script auch nur Benutzer-DSN löschen und erstellen können. System-DSN könnten von den vom User ausgeführten Script nur erstellt werden, wenn der User auch Systemadministrator ist. Daher nutzen wir als Schalter -DsnType „User“. Der Plattform Typ -32 oder 64 Bit – muss ggf. angepasst werden.

Dann folgt mit Add-OdbcDsn die Erstellung der neuen ODBC Verbindung. Der Name ist identisch mit der alten Verbindung. Die nachfolgenden Parameter müssen Sie natürlich anpassen. Zunächst der ODBC Treiber analog zum genutzten Datenbanksystem. In diesem Beispiel ist das ein Microsoft SQL Server. Für Oracle oder MySQL müssen Sie natürlich die entsprechenden Treiber installieren und dann den Treibernamen exakt angeben.

Dann folgen Plattformtyp und DsnType (auch hier wird wieder nur „User“ funktionieren. Der nachfolgende Teil hängt davon ab, mit welchem Sicherheitskonzept ihre User mit der Datenbank kommunizieren. In diesem Beispiel wird die ActiveDirectory Kennung der Users, die auch für den SQL Server gültig ist, an den Server durchgereicht. Haben Sie ein anderes Sicherheitskonzept, dann müssen Sie die Parameter entsprechend anpassen. Ich denke, dieses Beispiel dürfte eines der am häufigsten vorkommenden Szenarios sein. Alle weitere Parameter mit vielen Beispielen, finden Sie auf dieser Support-Seite von Microsoft.

Noch ein Hinweis: Wenn Sie die Tabellen der Datenbank in Access verbunden haben, dann müssen Sie diese in den Tabellenverknüpfungen einmalig aktualisieren. Das können Sie machen, bevor Sie die AccessDatenbank an diese User ausgeben. Wie das funktionieren könnte, hatte ich auch schon erklärt.

 

 

Fussgängerzone -2-

(Dieser Eintrag ist Teil der „Troisdorfer Ansichten“, die ständig erweitert werden)

Hier trifft man auf Tradition – das Geschäft im Vordergrund existiert heute noch, wie man unschwer erkennen kann. Das große weiße Gebäude war lange Zeit eine Bank. Heute ist dort ein bekannter Optiker untergebracht.

Wichtige Anmerkung: Die Originalfotos stammen aus den sozialen Medien oder existieren als eingescannte Postkarten – sofern nicht anders angegeben, sind mir die Urheber nicht bekannt. Da ich hier natürlich keine Urheberrechte verletzen möchte, bitte ich bei Einwänden zum Gebrauch der Fotos um eine kurze Nachricht per E-Mail. Mit der Darstellung der Troisdorfer Ansichten verfolge ich keine kommerziellen Absichten.

Fussgängerzone -1-

(Dieser Eintrag ist Teil der „Troisdorfer Ansichten“, die ständig erweitert werden)

Wer erinnert sich nicht an diesen Laden, der seinen Höhepunkt in der Errichtung einer Nebenfiliale von Kirschner hatte und durch exquisite, hochkompetente Bedienung hervorstach? Ja das waren noch Zeiten.

Im Moment (Januar 2021) steht auch dieser Laden, wie so viel in der Troisdorfer Innenstadt, leer … .

Wichtige Anmerkung: Die Originalfotos stammen aus den sozialen Medien oder existieren als eingescannte Postkarten – sofern nicht anders angegeben, sind mir die Urheber nicht bekannt. Da ich hier natürlich keine Urheberrechte verletzen möchte, bitte ich bei Einwänden zum Gebrauch der Fotos um eine kurze Nachricht per E-Mail. Mit der Darstellung der Troisdorfer Ansichten verfolge ich keine kommerziellen Absichten.

Der Troisdorfer Hertie -2-

(Dieser Eintrag ist Teil der „Troisdorfer Ansichten“, die ständig erweitert werden)

Ein bekanntes Troisdorfer Postkartenmotiv – wieder mit dem Hertie, lange vor dem Bau der Fussgängerzone im Jahr 1983.

Wichtige Anmerkung: Die Originalfotos stammen aus den sozialen Medien oder existieren als eingescannte Postkarten – sofern nicht anders angegeben, sind mir die Urheber nicht bekannt. Da ich hier natürlich keine Urheberrechte verletzen möchte, bitte ich bei Einwänden zum Gebrauch der Fotos um eine kurze Nachricht per E-Mail. Mit der Darstellung der Troisdorfer Ansichten verfolge ich keine kommerziellen Absichten.