Lokales Powershell Script in eine MS SQL Datenbank einlesen
Habe eine schwierige Frage eine lokales Powershell Script was auch automatisch ausgeführt wurde, soll per Script in eine MSQl Datenbank geschrieben werden wie funktioniert das?
Da der Client ja nicht in einer AD ist stelle mir das iregndwie schwierig vor .
Da der Client ja nicht in einer AD ist stelle mir das iregndwie schwierig vor .
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 353835
Url: https://administrator.de/contentid/353835
Ausgedruckt am: 22.11.2024 um 07:11 Uhr
18 Kommentare
Neuester Kommentar
Oh Boy!
Das lokale Script tut was ausser ausgefuehrt zu werden? Kannst Du das Script mal hier posten? Natuerlich als Codeblock.
Ist mit Datei zufaellig ein Ergebnis gemeint, welches durch das obige Script generiert ist?
Was ist dass fuer eine Datei? Welches Format?
Warum tust Du Dir das Ganze dann an? Auftrag von Cheffe, Ausbilder usw.?
BFF
eine lokales Powershell Script was auch automatisch am lokalen Client ausgeführt wird
Das lokale Script tut was ausser ausgefuehrt zu werden? Kannst Du das Script mal hier posten? Natuerlich als Codeblock.
Die Datei soll in eine MSQl Datenbank geschrieben und auch Abgespeichert werden.
Ist mit Datei zufaellig ein Ergebnis gemeint, welches durch das obige Script generiert ist?
Was ist dass fuer eine Datei? Welches Format?
Ich weiß nicht wie das funktionieren sollte, persönlich habe ich gar keine Ahnung von MS SQL.
Warum tust Du Dir das Ganze dann an? Auftrag von Cheffe, Ausbilder usw.?
BFF
ich möchte nicht die komplette Lösung geben denn dazu müsste ich genauer nachlesen - nur ein paar grundsätzliche Überlegungen; vielleicht sind die auch schon klar.
1. ein Skript soll in MySQL geschrieben werden. Das geht nicht.
- geht doch wenn man bedenkt a) MySQL ist ein Datenbank Managementsystem ein DBMS; wie Microsoft SQL Server.
2. Diese beinhalten Datenbanken (DB)
3. Die DB haben Tabellen (eine, 3 oder mehrere hundert )
4. Die Tabellen haben Felder; z.Bsp:
index-nr, Datum (wann erstellt), Textfeld (z.Bsp mit einem Powerpoint-skript Text)
5. wenn das alles dann da ist benutzt man SQL als "Abfragesprache" und die Tabellen zu lesen aber auch um diese zu füllen. Und man benutzt SQL auch um DB zu erzeugen, zu löschen und Tabellen (einige sagen auch Relationen) zu erstellen , zu löschen..
#mysql aufrufen ev. mit -p password und -u username Damit kann man sich an der DB anmelden
mysql> use MeinePowerpointDB //DB auswählen
mysql> mit Insert in die entsprechende Tabelle eine Zeile neu erzeugen oder mit Update eine entsprechende Tabellenzeile verändern. Die genau Syntax bitte in der Doku nachschauen; ich will nicht was zusammenschreiben, was dann ev. Fehler hat (siehe oben 1. Satz)
Man kann aber auch statt interaktiv zu handeln alle SQL Befehle in eine SQL-Datei schreiben diese mit
#mysql -u db_user -p db_userpassword DB-NAME < datei.sql
von der Kommandozeile ausführen.
Statt dem Ausführen über die Kommandozeile kannst du auch ein Shell-Skript oder Batchskript erstellen das Dein Powerpoint Befehl übernimmt einliest oder das Ergebnis des PS einliest und mit einer Varaible an die richtige Stelle der SQL Anweisung platzierst, die Du dann in dem Batch-Skript ausführt.
Umgekehrt könnte man auch mit SQL und einem Batchskript für einen bestimmten Datensatz ein Textfeld (mit einem Powerpointskript) auslesen und den Text (das Powerpoint-Skript) dann ausführen lassen.
Die Abschließende Idee wäre dann noch eine weiteres Batchskipt mit einem Menu zur Auswahl diverser Powerpoint Befehle; um z.Bsp Wartungsaufgaben als Admin einfacher ablaufen zu lassen, statt alles immer wieder neu einzugeben...
1. ein Skript soll in MySQL geschrieben werden. Das geht nicht.
- geht doch wenn man bedenkt a) MySQL ist ein Datenbank Managementsystem ein DBMS; wie Microsoft SQL Server.
2. Diese beinhalten Datenbanken (DB)
3. Die DB haben Tabellen (eine, 3 oder mehrere hundert )
4. Die Tabellen haben Felder; z.Bsp:
index-nr, Datum (wann erstellt), Textfeld (z.Bsp mit einem Powerpoint-skript Text)
5. wenn das alles dann da ist benutzt man SQL als "Abfragesprache" und die Tabellen zu lesen aber auch um diese zu füllen. Und man benutzt SQL auch um DB zu erzeugen, zu löschen und Tabellen (einige sagen auch Relationen) zu erstellen , zu löschen..
#mysql aufrufen ev. mit -p password und -u username Damit kann man sich an der DB anmelden
mysql> use MeinePowerpointDB //DB auswählen
mysql> mit Insert in die entsprechende Tabelle eine Zeile neu erzeugen oder mit Update eine entsprechende Tabellenzeile verändern. Die genau Syntax bitte in der Doku nachschauen; ich will nicht was zusammenschreiben, was dann ev. Fehler hat (siehe oben 1. Satz)
Man kann aber auch statt interaktiv zu handeln alle SQL Befehle in eine SQL-Datei schreiben diese mit
#mysql -u db_user -p db_userpassword DB-NAME < datei.sql
von der Kommandozeile ausführen.
Statt dem Ausführen über die Kommandozeile kannst du auch ein Shell-Skript oder Batchskript erstellen das Dein Powerpoint Befehl übernimmt einliest oder das Ergebnis des PS einliest und mit einer Varaible an die richtige Stelle der SQL Anweisung platzierst, die Du dann in dem Batch-Skript ausführt.
Umgekehrt könnte man auch mit SQL und einem Batchskript für einen bestimmten Datensatz ein Textfeld (mit einem Powerpointskript) auslesen und den Text (das Powerpoint-Skript) dann ausführen lassen.
Die Abschließende Idee wäre dann noch eine weiteres Batchskipt mit einem Menu zur Auswahl diverser Powerpoint Befehle; um z.Bsp Wartungsaufgaben als Admin einfacher ablaufen zu lassen, statt alles immer wieder neu einzugeben...
Hallo,
Es war keine so gute Idee so kurz nach Mitternacht nochwas zu tippen.
BFF
Umgekehrt könnte man auch mit SQL und einem Batchskript für einen bestimmten Datensatz ein Textfeld (mit einem Powerpointskript) auslesen und den Text (das Powerpoint-Skript) dann ausführen lassen.
Die Abschließende Idee wäre dann noch eine weiteres Batchskipt mit einem Menu zur Auswahl diverser Powerpoint Befehle; um z.Bsp Wartungsaufgaben als Admin einfacher ablaufen zu lassen, statt alles immer wieder neu einzugeben...
Es war keine so gute Idee so kurz nach Mitternacht nochwas zu tippen.
BFF
Es geht außerdem um MSSQL, nicht MySQL
Theoretisch kann man auch mit einem Batch SQL Befehle am einem MSSQL Server ausführen, das erfordert allerdings eine Authentifizierung am SQL Server, der muss dafür auch nicht in einer Domäne sein. Die Zugangsdaten stehen allerdings im Klartext in dem Script.
Grundsätzlich entscheidend ist aber erstmal die Frage was wirklich in die DB soll, das Script? Das Ergebnis?
Theoretisch kann man auch mit einem Batch SQL Befehle am einem MSSQL Server ausführen, das erfordert allerdings eine Authentifizierung am SQL Server, der muss dafür auch nicht in einer Domäne sein. Die Zugangsdaten stehen allerdings im Klartext in dem Script.
Grundsätzlich entscheidend ist aber erstmal die Frage was wirklich in die DB soll, das Script? Das Ergebnis?
Ich sehe hier das Problem nicht. Powershell Skripte zum Schreiben von Daten in eine MSSQL Datenbank gibt es wie Sand am Meer. Einfach das ganze Skript mit den benötigten Windows-Credentials starten oder sie im Tresor ablegen, den MSSQL auf TCP/IP Verbindung stellen und fertig.
Ansonsten SQL Auth aktivieren geht natürlich wie immer auch.
Ansonsten SQL Auth aktivieren geht natürlich wie immer auch.
Dat is ja auch kein Powershell was du da postest ...
Wie gesagt, das ist "SQL" kein Powershell, das kannst du nicht einfach so in ein PS-Script schreiben, dazu nimmt man ein ODBC Object und schreibt das in die "Command" Eigenschaft.
Beispiele dazu findest du zu 1000enden im Netz.
Bei Bedarf leiste ich gerne Hilgestellung gegen Cash.
Beispiele dazu findest du zu 1000enden im Netz.
Bei Bedarf leiste ich gerne Hilgestellung gegen Cash.
Sorry du hast immer noch nicht verstanden . Du kannst keinen SQL-String einfach in die Powershell schreiben!!!!'!!!!!!!!!!!!!!! Deswegen meckert er ja auch deine Syntaxfehler an ....
Du musst den SQL-Befehl in der Command-Proerty an den Server übermitteln!!!
Das machst du ja oben korrekt mit der $sqlquery, das selbe musst du nun für den Insert-Befehl machen.
Aber anschließend natürlich auch mit ExecuteNonQuery() ausführen!
Man man man hast du Zeit für so was billiges .
Les doch zur Abwechslung mal die Dokumentation anstatt nur dumm rum zu probieren ... Dann stemmt das auch ein Anfänger in einer halben Stunde.
Du musst den SQL-Befehl in der Command-Proerty an den Server übermitteln!!!
Das machst du ja oben korrekt mit der $sqlquery, das selbe musst du nun für den Insert-Befehl machen.
Aber anschließend natürlich auch mit ExecuteNonQuery() ausführen!
Man man man hast du Zeit für so was billiges .
Les doch zur Abwechslung mal die Dokumentation anstatt nur dumm rum zu probieren ... Dann stemmt das auch ein Anfänger in einer halben Stunde.