2012-01-31 54 views
-1

我在那裏我通過Execute SQL任務插入行表根據病情

我的XML包含像

<ROOT> 
<row firstName="Joe" lastName="Blow" city="Seattle" state="WA" phone="555-666-7777"/> 
<row firstName="Jane" lastName="Doe" city="Los Angeles" state="CA" phone="566-866-2345"/> 
<row firstName="Robert" lastName="Smith" city="Washington" state="DC" phone="444-555-6666"/> 
<row firstName="Mary" lastName="Contrary" city="Garden City" state="FL" phone="234-876-9374"/> 
<row firstName="Thomas" lastName="Doubter" city="New Orleans" state="LA" phone="384-389-7342"/> 
<row firstName="Barbara" lastName="Bologna" city="Chicago" state="IL" phone="483-483-8162"/> 
</ROOT> 

數據將XML數據轉換成記錄設置目的地和記錄集目標數據庫表中的包我已經在我的包裝中取出四個變量的所有字符串類型的

firstname,lastname,city,state,phone  

現在,我的要求是,我需要這個XML數據插入到我基於名字的目的地表格。

如果我選擇了firstname= Robert,則只有具有該名字的行必須輸入到我的目標表中。

而我的執行SQL任務包含

Result set Property--single row 
connection type--OLEDB 
connection--myconnection 
sql statement--declare @firstName varchar(25) 
select @firstName= ? 
INSERT INTO people_xml (firstName, lastName,city,state,phone) 
    select firstName,lastName, city,state,phone from people_xml 
    where [email protected] 

Select Convert(varchar,Scope_Identity()) as SourceIDentity 

參數映射選項卡

user::firstname 
user::lastname 
user::city 
user::state 
user::phone 

結果集選項卡

result Name--0 
variable Name--User::SourceID 

當我運行它拋出一個錯誤,如

[Execute SQL Task] Error: Executing the query "declare @firstName varchar(25) select @firstName= ..." failed with the following error: "Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done.". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly.

+1

縮小的問題 – 2012-01-31 08:22:26

+3

StackOverflow的作品!在一個人們想互相幫助的前提下衡量一個人對某個主題的有用性和感知影響力與他們的聲譽有關你已經詢問了** [5個其他問題](http://stackoverflow.com/users/) 1025057/satishkumar?tab = questions)**但沒有選擇答案,也沒有提供有用的答案。人們樂於花費精力幫助您找到答案,但您需要成爲社區的優秀成員,並獎勵他們的努力。投票或反饋,如果他們的解決方案不起作用 – billinkc 2012-01-31 13:26:10

回答

0

這個錯誤的問題是非常通用的。我個人得到這個錯誤兩次。一旦我通過匹配字段LENGTHS來解決它。例如,我在表中使用了varchar(80),而在插入時使用了varchar(50)左右。我通過使用相同的類型和長度來解決它。

第二次我真的很麻煩,但幸運的是有一個人和我有同樣的問題:我必須使用regsvr32註冊sqltaskconnections.dll。在互聯網上搜索它,你會在那裏找到一個指南。

如果我是你,我會試試看。正如我之前所說的,這種錯誤實在是通用的,除非有人真的明智的答案,我的猜測是,你要奮鬥很多= - (

希望這有助於