beetFreeQ Geschrieben 25. September 2003 Teilen Geschrieben 25. September 2003 Moin Ihr! Nachdem ich mich schon stundenlang durch die SQL-Hilfe und das Web gesucht habe, dachte ich, daß hier ja vielleicht einer eine Lösung für folgendes Problem hat: Ich habe ein SQL-Script gebaut, das eine Datenbank komplett von "normalen" alphanummerischen Feldern in die entsprechenden Unicode-Felder umwandelt. Nun möchte ich noch ein Ergebnis als Datei auf dem Server ausgeben. Mit SP_MAKEWEBTASK ist das ja z.B. ganz einfach, allerdings ist mein Problem, daß das Script bei verschiedenen Kunden laufen soll, und dort ja eigentlich immer unterschiedliche Einstellungen bezüglich der Ordnerfreigabe etc bestehen. Ich müsste also irgendwie per SQL-Statement ein Verzeichnis auf dem Server ermitteln können, in das ich die Datei legen darf. Ich dachte da schon an das Temp-Verzeichnis, aber ich finde leider keine Möglichkeit... Gibt es auf dem MSSQL-Server 2000 überhaupt Möglichkeiten, derartige Dateioperationen per SQL-Statements auszuführen? Und wenn ja, wie löse ich mein Problem? Bin für jede Hilfe dankbar! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Honkytonk Geschrieben 26. September 2003 Teilen Geschrieben 26. September 2003 Hi Beeti, kleiner Lösungsansatz von mir: Via xp_cmdshell kannst du Shell-Commands absetzen. Mit exec xp_cmdshell 'echo %SystemRoot%\Temp' solltest du eigentlich das Temp-Verzeichnis des Systems bekommen. Dorthin kannst du dann auch deine Ausgabe schreiben. Gruß Honky Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Goos Geschrieben 26. September 2003 Teilen Geschrieben 26. September 2003 Original geschrieben von Honkytonk Via xp_cmdshell kannst du Shell-Commands absetzen. Mit exec xp_cmdshell 'echo %SystemRoot%\Temp' Das waer dann in etwa ein C:\WinNT\Temp , welches aber nicht unbedingt vorhanden ist, also auch nicht ganz unkritisch. Es gaebe ja noch das TMP bzw TEMP aus den Umgebungsvariablen, aber daran kommt man vom SQL-Server aus nicht ran, da diese Variablen userspezifisch sind. Goos Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
beetFreeQ Geschrieben 26. September 2003 Autor Teilen Geschrieben 26. September 2003 Original geschrieben von Honkytonk Hi Beeti, kleiner Lösungsansatz von mir: Via xp_cmdshell kannst du Shell-Commands absetzen. Mit exec xp_cmdshell 'echo %SystemRoot%\Temp' solltest du eigentlich das Temp-Verzeichnis des Systems bekommen. Dorthin kannst du dann auch deine Ausgabe schreiben. Gruß Honky Moin! Hmm, daran hatte ich garnicht gedacht... - allerdings haben wir zumindest einen Kunden dabei, bei dem mein Script sicherlich nicht das Recht haben wird, die xp_cmdshell auszuführen... - aber der ist eh immer ne Extrawurst, und für die anderen dürfte es funzen... thx! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Goos Geschrieben 26. September 2003 Teilen Geschrieben 26. September 2003 Original geschrieben von beetFreeQ - allerdings haben wir zumindest einen Kunden dabei, bei dem mein Script sicherlich nicht das Recht haben wird, die xp_cmdshell auszuführen... - aber der ist eh immer ne Extrawurst, und für die anderen dürfte es funzen... thx! Hmm dann wirst da sicher auch kein xp_regread ausfuehren duerfen nehm ich mal an Das waer naemlich die zweite Loesung um entsprechende Variablen direkt aus der Registry zu holen. Goos Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
beetFreeQ Geschrieben 26. September 2003 Autor Teilen Geschrieben 26. September 2003 Original geschrieben von Goos Das waer dann in etwa ein C:\WinNT\Temp , welches aber nicht unbedingt vorhanden ist, also auch nicht ganz unkritisch. Es gaebe ja noch das TMP bzw TEMP aus den Umgebungsvariablen, aber daran kommt man vom SQL-Server aus nicht ran, da diese Variablen userspezifisch sind. Goos hab ich auch grad gemerkt... - geht also so leider nicht ... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
beetFreeQ Geschrieben 26. September 2003 Autor Teilen Geschrieben 26. September 2003 Original geschrieben von Goos Hmm dann wirst da sicher auch kein xp_regread ausfuehren duerfen nehm ich mal an Das waer naemlich die zweite Loesung um entsprechende Variablen direkt aus der Registry zu holen. Goos Bingo! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Goos Geschrieben 26. September 2003 Teilen Geschrieben 26. September 2003 Die einzige wirkliche Moeglichkeit die du hast ist wohl dein HTML-File ins Data Verzeichnis deines SQL Servers zu schreiben. Das duerfe so ziemlich das einzige sein, was du immer ermitteln kannst. ...andererseits is dein Report so wichtig, dass ihn jeder sehen muss? Goos Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
beetFreeQ Geschrieben 26. September 2003 Autor Teilen Geschrieben 26. September 2003 Original geschrieben von Goos Die einzige wirkliche Moeglichkeit die du hast ist wohl dein HTML-File ins Data Verzeichnis deines SQL Servers zu schreiben. Das duerfe so ziemlich das einzige sein, was du immer ermitteln kannst. ...andererseits is dein Report so wichtig, dass ihn jeder sehen muss? Goos Hmm, und grad da haben wir in den meisten Fällen keine Schreibrechte ... - tja, eigentlich müsste ich mal sehen, ob ich mir den Bericht sonst auch zumailen lassen könnte... - das wäre dann noch die eleganteste Lösung... - immerhin steht da drin, welche Felder nicht angepasst werden konnten, weil andere Objekte davon abhängig sind... - die einzelnen Indizes aus den Tabellen rauszunehmen und nach der Spaltenänderung wieder einzufügen, das war mir dann nämlich doch zuviel Aufwand - aber das muß ja nicht jeder wissen :floet: Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Goos Geschrieben 26. September 2003 Teilen Geschrieben 26. September 2003 Original geschrieben von beetFreeQ aber das muß ja nicht jeder wissen :floet: OK - ich werd nichts verraten :floet: Goos Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.