我创建了一个包,它被加载到我们的SQL服务器上。包进入一个文件夹,read和excel,将excel转储到一个表中,然后将其存档。
正常运行包时(通过BIDS
),它可以正常运行。
但是当我使用以下行运行SSMS
时:
exec master.dbo.xp_cmdshell 'C:\"Program Files (x86)"\"Microsoft SQL Server"\100\DTS\Binn\DTExec.exe /DTS "<package location>" /SERVER "<Server>" /CHECKPOINTING OFF /REPORTING V'
拉取Excel名称的部分(对于包中的每个循环)报告它没有找到任何内容。
Description: The For Each File enumerator is empty. The For Each File enumerator did not find any files that matched the file pattern, or the specified directory was empty.
程序包需要以32位模式运行才能读取excel,这就是我使用32位dtexec
位置的原因。
任何人都知道发生了什么事?
答案 0 :(得分:1)
在我看来,您应该使用 create SSIS Type Job
并更改:
document
使用:
var superPlace: MKPlacemark!
func getPlaceMarkInfo(coordinate: CLLocationCoordinate2D, completion: (superPlace: MKPlacemark?) -> ()) {
let location = CLLocation(latitude: coordinate.latitude, longitude: coordinate.longitude)
geocoder.reverseGeocodeLocation(location) { (arrayPlaceMark, error) -> Void in
if error == nil {
let firstPlace = arrayPlaceMark!.first!
let addressDictionaryPass = firstPlace.addressDictionary as! [String : AnyObject]
self.superPlace = MKPlacemark(coordinate: location.coordinate, addressDictionary: addressDictionaryPass)
completion(superPlace: superPlace)
} else {
completion(superPlace: nil)
}
}
}
我还会检查执行cmd shell时使用的帐户。我怀疑没有足够的权限来读取特定目录或不同的环境变量。