Befehlszeile ausführen von Gespeicherten SQL-Prozedur
Hallo, ich versuche zu laufen bcp importieren einer Datei, die generiert wird, aus einer anderen DB in meine DB
(nicht Fragen, lange Geschichte, die endet, in mir aufgehoben).
so jedenfalls habe ich alle Konstanten, die ich übergeben muss in bcpImport und ich habe eine Klasse, die in C# aber ich benötige dazu über eine geplante jede Nacht ausgeführt wird. und, wie ich noch nie lief die Befehlszeile innerhalb von SQL-Skripten (nur Umgekehrt, lief Skripte von der Kommandozeile aus) ich Frage mich, wenn jemand könnte mir ein paar Hinweise geben.
MyTable in \"C:\\example\\location\\PartInfo.txt\" -S SQLSERVER2008 -T -f \"example\\location\\FormatFile.xml\"
Im Interesse der Vollständigkeit habe ich ein Beispiel für die Befehlszeile, die ich ausführen möchten
Die Voraussetzung für den Aufruf des bcp in SQL ist absolute? Könntest du nicht anrufen bcp direkt von Ihrem C# - code?
Ja ich kann und habe aber die "mächtigen" wollen, dazu aufgerufen, aus dem SQL-Server (glauben Sie mir Diskussionen wie diese sind alltäglich), Das Leben ein devloper wer würde es wollen lol
Gott... naja, wenn Sie nicht verwenden können, xp_cmdshell, dann (und das ist nur eine Idee) vielleicht könnten Sie es imitieren und erstellen Sie eine CLR-SP, nennen würde, der bcp (vorausgesetzt das ist überhaupt möglich).
lol ich mag deine denke, ssarabando hätte ich allerdings zu fake, zu den Kräften und das fürchte ich ist nicht eine Möglichkeit, in diesem Fall 😉 ich huess ich bin stecken, ohne reasonabl Weg, aber ich push für xp_cmdshell geöffnet werden (bezweifle es aber einen Versuch Wert) und ich hoffe, dies kann push-uis zurück zu meinem ursprünglichen Vorschlag verlassen, die alle in der C# - code
Erinnerte mich nur über etwas, das ich verwendet habe, nur einmal und vor langer Zeit: Bulk Insert. Würde dies nicht den trick tun? Es ist "Reine" T-SQL-und es erfordert nicht xp_cmdshell aktiviert (AFAIK).
Ja ich kann und habe aber die "mächtigen" wollen, dazu aufgerufen, aus dem SQL-Server (glauben Sie mir Diskussionen wie diese sind alltäglich), Das Leben ein devloper wer würde es wollen lol
Gott... naja, wenn Sie nicht verwenden können, xp_cmdshell, dann (und das ist nur eine Idee) vielleicht könnten Sie es imitieren und erstellen Sie eine CLR-SP, nennen würde, der bcp (vorausgesetzt das ist überhaupt möglich).
lol ich mag deine denke, ssarabando hätte ich allerdings zu fake, zu den Kräften und das fürchte ich ist nicht eine Möglichkeit, in diesem Fall 😉 ich huess ich bin stecken, ohne reasonabl Weg, aber ich push für xp_cmdshell geöffnet werden (bezweifle es aber einen Versuch Wert) und ich hoffe, dies kann push-uis zurück zu meinem ursprünglichen Vorschlag verlassen, die alle in der C# - code
Erinnerte mich nur über etwas, das ich verwendet habe, nur einmal und vor langer Zeit: Bulk Insert. Würde dies nicht den trick tun? Es ist "Reine" T-SQL-und es erfordert nicht xp_cmdshell aktiviert (AFAIK).
InformationsquelleAutor Deviland | 2012-01-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie XP_cmdshell aber es kann sein zuerst aktiviert.
EDIT:
Als die OP nicht haben admin-Rechte, und der Kaffee bietet nicht helfen, vielleicht einen Auftrag erstellen, die ausgeführt wird der Befehl könnte ein vernünftiges umgehen, bis zu dieser Link dieser sollte einwandfrei funktionieren.
Die Idee ist, einen Auftrag erstellen lassen, den Befehl ausführen und löschen Sie ihn, den job in etwa so aussieht:
Leider habe ich keine anderen Tipps 🙂 andere, als zu versuchen, hübsch zu bitten, den admin...
drei Tassen Kaffee angeboten, er ist nicht budging lol
Ich glaube, ich fand somehting. Ein work-around wäre das erstellen einer SQL-Agent-Auftrags, um den Befehl auszuführen, dann löschen Sie es wieder.
Ich habe accpeted Ihre erste Antwort, weil ich glaube, du hast Recht mit dem, was Sie beantwortet und im Interesse anderer Leser dieser Frage, Sie sollten sehen, der häufigste Weg, dies zu erreichen, nochmals vielen Dank 🙂
InformationsquelleAutor CloudyMarble