dtsx package load 問題

Could not load package "**.dtsx" because of error 0xC0010014.
Description: The package failed to load due to error 0xC0010014 "One or more error occurred. There should be more specific errors preceding this one that explains the details of the errors. This message is used as a return value from functions that encounter errors.". This occurs when CPackage::LoadFromXML fails.

發現一個轉移數據的ssis package始終不能正常運行,由於這個package是內嵌在程序中,使用dtexec命令行運行的,所以只能慢慢排查了,經過網上搜索和自己驗證,發現一般會有下面四種結果

1. 時間分隔符設定不一致

由於dtsx文件本質上只是一個xml文件,中間一些tag和內容會有時間值,這時候如果dtsx中的時間和本地電腦時間分隔符不一致,會導致這個問題出現的

In Control Panel, open Regional and Language Options.
Click Customize.
In the Customize Regional Options dialog box, click the Date tab.
Update the value of the Date Separator box to "/"
Click OK to save the change, and then close the Customize Regional Options dialog box.
Click OK

 

2. 註冊xml相關解釋的dll

regsvr32 msxml3.dll
regsvr32 msxml6.dll

缺少這些dll預註冊,系統不能正確解釋xml文件

 

3.使用正確的dtexec版本來運行

如果系統中安裝多過一個sql server版本,這樣的話要確認系統默認的dtexec版本是否與dtsx版本一致,這裡主要檢查64bit和32bit,2008 和2005之類的

regsvr32 "\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\DTS.dll"

4. 一些dtsx運行所必需的dll文件註冊混亂了,這個時候需要repair或者重新installsql server.

posted @ 2013-02-28 09:25  Nina  阅读(327)  评论(0编辑  收藏  举报