Sto tentando di eseguire un pacchetto SSIS in SQL 2005 utilizzando i seguenti:SSIS DTEXEC pacchetto Spazio variabile carattere non accettato
dtexec /SQL "\MyPackageName" /SERVER mssql1 /MAXCONCURRENT " -1 " /CHECKPOINTING OFF
/SET "\Package.Variables[FileFolder].Value";"\\SomeServer\Someshare\Output Batch\"
questa rendimenti:
Option "Batch " is not valid.
Lo spazio al termine della la parola Batch all'interno delle virgolette mi ha dato un suggerimento che forse sta trattando l'ultima barra rovesciata come un personaggio di fuga. Così ho provato in questo modo:
dtexec /SQL "\MyPackageName" /SERVER mssql1 /MAXCONCURRENT " -1 " /CHECKPOINTING OFF
/SET "\Package.Variables[FileFolder].Value";"\\\\SomeServer\\Someshare\\Output Batch\\"
Questo ha permesso il pacchetto di correre, ma quando questa variabile è utilizzato come nome di un flatfile per inviare dati ad, ora dà il seguente errore:
Warning: 2010-07-27 14:36:38.23
Code: 0x8007007B
Source: Data Flow Task Flat File Destination [72]
Description: The filename, directory name, or volume label syntax is incorrect.
End Warning
Error: 2010-07-27 14:36:38.23
Code: 0xC020200E
Source: Data Flow Task Flat File Destination [72]
Description: Cannot open the datafile "\\\\SomeServer\\Someshare\\Output Batch\FlatFile.txt".
End Error
Cosa dà?
Questo potrebbe essere considerato un bug Microsoft? –
Penso che sia piuttosto normale scappare dalle virgolette con una barra rovesciata. La parte strana è che l'escape del backslash è permesso solo quando è prima di un carattere di doppia citazione - in pratica, backslash che esegue l'escape di "" 'o' \ "' e nient'altro. Questo potrebbe essere il normale comportamento del comando batch di DOS, ma non ne sono sicuro. – ErikE
Apprezzo molto la tua domanda e risposta. Quando avevo percorsi di rete come \\ mio server \ mio percorso \ lo dividerei in \\ mio "" server \ mio "" \ percorso \ finché non ho trovato la soluzione. Ho iniziato a fare ricerche per la prima volta questo mese fa, fino a quando ho trovato il tuo post. –