Zum Inhalt springen

Transact-SQL - Temp-Verzeichnis ermitteln


beetFreeQ

Empfohlene Beiträge

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!

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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!

Link zu diesem Kommentar
Auf anderen Seiten teilen

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 :D

Das waer naemlich die zweite Loesung um entsprechende Variablen direkt aus der Registry zu holen.

Goos

Link zu diesem Kommentar
Auf anderen Seiten teilen

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 :(...

Link zu diesem Kommentar
Auf anderen Seiten teilen

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. :D

...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 :rolleyes: :floet: :D

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...