uncategorized

解決在PowerShell內用特殊符號

今天為了在PowerShell內執行SQLPackage指令,之前使用/p:ExcludeObjectTypes針對不同屬性,用逗號分開是可以執行,但是,換成/p:DoNotDropObjectTypes竟然不可以,不過,若是按照官方文件來看,確實是用錯分隔符號

那就改成官方規定的;吧,如果把指令用到一般的Command Line是沒有問題,不過放在PowerShell卻不行,原來是這一類字元對於PowerShell來說是特殊的字元,所以,不能使用。不過,在/p:ExcludeObjectTypes還可以把分號改成逗號,依舊可以正常運作無誤。換了/p:DoNotDropObjectTypes如法炮製卻無法運作,會發生找不到第二個字串之後的指令。看來依舊還是必須要用;隔開。為了達到這做法,因此,必須可以在PowerShell內正常使用它,可以在參數前面多加--%就可以,如下

1
sqlpackage --% /p:DoNotDropObjectTypes=RoleMembership;Rules;ScalarValuedFunctions

這樣就可以運作了