2012-10-17 92 views
0

在導入數據時,我得到的錯誤對應視圖在數據庫中不可用。但我檢查了數據庫,該視圖可用。我嘗試手動插入視圖,其時間的工作。如何使用ssis 2008 R2從表中插入數據進行查看?

任何設置改變?

雖然從表中導入數據通過SSIS查看。我收到以下錯誤「無效的對象名稱[Feed].[VwPharmaClaim]」。這已經存在。我追蹤了包含對象名稱的探查器Quotes中的查詢,其編號爲("[Feed]"."[VwPharmaClaim]")。沒有引用它的工作。

,而我將在2008年版本的數據我收到以下錯誤

消息208,級別16,狀態1,行1 無效的對象名稱[頻道]。[VwPharmaClaim]「

我追蹤了配置文件中的插入查詢

exec sp_executesql N'INSERT INTO「[Feed]」。「[VwPharmaClaim]」(「PharmaKey」,「member_id」,「MemberRefID」,「claim_id」,「ndc」 (@ P1,@ P2),「days_supply」,「refill_number」,「fill_dt」,「paid_dt」,「prescriber_id」,「allowed_amt」,「paid_amt」,「Member_amt」,「quantity」,「Import_Id」 ,@ P3,P4 @,@ P5,P6 @,@ P7,P8 @,@表示P 9,@ P10,@ P11,@ P12,@ P13,@ P14,@ P15,@ P16)',N'@ P1 bigint,@ P2 varchar(8000),@ P3數字(18),@ P4 varchar(8000 ),@ P5 varchar(8000),@ P6 numeric(10),@ P7 int,@ P8 datetime,@ P9 datetime,@ P10 varchar(8000),@ P11 money,@ P12 money,@ P13 money,@ P14 float ,@ P15 numeric(18),@ P16 int',1,'000000000052',52,'085565501321','00472030115',5,0,'2008-06-04 00:00:00','2008-06 -08 00:00:00' , 'BO5586396',$ 10.0000,$ 0.0000產品,$ 10.0000,15,7,5368

輸出 消息208,級別16,狀態1,行1 無效的對象名稱[飼料。 [VwPharmaClaim]」。

當我刪除它的工作的雙引號精細

EXEC sp_executesql的N'INSERT INTO [飼料] [VwPharmaClaim]( 「PharmaKey」, 「member_id」, 「MemberRefID」, 「claim_id」, 「NDC」 ,「days_supply」,「refill_number」,「fill_dt」,「paid_dt」,「prescriber_id」,「allowed_amt」,「paid_amt」,「Member_amt」,「quantity」,「Import_Id」,「年齡」)VALUES(@ P1, @ P2,@ P3,@ P4,@ P5,@ P6,@ P7,@ P8,@ P9,@ P10,@ P11,@ P12,@ P13,@ P14,@ P15,@ P16) 'N' @ (8),@ P4 varchar(8000),@ P5 varchar(8000),@ P6 numeric(10),@ P7 int,@ P8 datetime,@ P9 datetime, @ P10 varchar(8000),@ P11 money,@ P12 money,@ P13 money,@ P14 float,@ P15 numeric(18),@ P16 int',1'000000000052',52'085565501321','00472030115' ,5,0,'2008-06-04 00:00:00','2008-06-08 00:00:00','BO5586396',$ 10.0000,$ 0.0000,$ 10.0000,15,7,536 8

輸出

(1行(S)的影響)

我的包開發的2005年。我曾在2008年

版本9.0.30729.4462.QFE

轉換這個包下這版本我的錯誤,同時從表中數據導入,查看

[OLE DB目標[185]錯誤:SSIS錯誤代碼DTS_E_OLEDBERROR。發生了OLE DB錯誤。錯誤代碼:0x80004005。 OLE DB記錄可用。源:「Microsoft SQL Server Native Client 10.0」Hresult:0x80040E37描述:「無效的對象名稱」[Feed]。[VwPharmaClaim]'。「。

+0

提供更多詳細信息 – Diego

+0

雖然從表中導入的數據通過SSIS進行查看。我收到以下錯誤「無效的對象名稱」[Feed]。[VwPharmaClaim]'。「這已經存在。我追蹤了包含對象名稱的探查器Quotes中的查詢(「[Feed]」。[VwPharmaClaim]「)。沒有引用它的工作。希望你明白。 – Dinesh

+0

那你爲什麼不用沒有引號? – Diego

回答

1

默認情況下,在SQL Server 2008中,不允許使用雙引號來標識數據庫對象。

運行

ALTER DATABASE <dbname> SET QUOTED_IDENTIFIER = ON 

對你的目標數據庫,然後嘗試運行

SELECT * FROM "Feed"."VwPharmaClaim" 

退房http://technet.microsoft.com/en-US/library/ms174393(v=sql.105).aspx更多的一些信息。

當你說SSIS正在生成這些查詢時,你使用什麼類型的任務來生成它們?我從來沒有見過它會產生雙引號標識符,只是好奇。

0

我在SSIS 2013中遇到過這種情況,並試圖插入到可更新的視圖中。該視圖使用'而不是'觸發器來執行插入操作。

爲了使其工作,我必須進入目標的高級編輯器,並在組件屬性選項卡上從OpenRowset中刪除方括號,因此[dbo].[myView]變爲dbo.myView。另外,AccessMode需要是普通的OpenRowset; fastload不起作用。

相關問題