aşağıdaki kullanarak SQL üzerinde 2005 yürütmek bir SSIS paket çalışılıyor:SSIS dtexec Paketi Değişken Uzay Karakter Kabul Edilmedi
dtexec /SQL "\MyPackageName" /SERVER mssql1 /MAXCONCURRENT " -1 " /CHECKPOINTING OFF
/SET "\Package.Variables[FileFolder].Value";"\\SomeServer\Someshare\Output Batch\"
bu verim:
Option "Batch " is not valid.
sonunda boşluk Alıntılar içindeki Batch kelimesi bana belki de bir final karakteri olarak son ters eğik çizgiyi işlediğine dair bir ipucu verdi. Bu yüzden bu şekilde çalıştı:
dtexec /SQL "\MyPackageName" /SERVER mssql1 /MAXCONCURRENT " -1 " /CHECKPOINTING OFF
/SET "\Package.Variables[FileFolder].Value";"\\\\SomeServer\\Someshare\\Output Batch\\"
Bu çalıştırmak için paket izin verilir, ancak bu değişken için çıkış verilerine bir Flatfile adı olarak kullanıldığı zaman, şimdi aşağıdaki hatayı veriyor:
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
Ne verir?
Bu bir Microsoft hatası olarak kabul edilebilir mi? –
Sanırım bir ters eğik çizgi ile tırnak kaçmak için bir standarttır. Garip kısım, ters eğik çizgi kaçmak sadece bir çift alıntı karakteri önce olduğu zaman izin verilir - özünde, ters bölü kaçmak "" veya "\" 've başka bir şey. Bu, normal DOS toplu komut davranışı olabilir - ancak emin değilim. – ErikE
Yukarıdaki soru ve cevabınızı gerçekten takdir ediyorum. \\ sunucum \ yolum gibi ağ yollarına sahip olduğumda, çözümünüzü bulana kadar \\ benim "" sunucum \ "" \ yol \ "bölümüne bölerdim. Bu ay önce senin yazılarını bulana kadar araştırma yapmaya başladım. –