2
我們試圖使用SSIS包從平面文件導入數據到我們的SQL 2005數據庫。SSIS用戶定義類型
我們的數據庫有一個CLR用戶定義類型,我們用它來保存一些相關信息,我們稱之爲dbo.CustomType。
在SQL創建dbo.CustomType的對象,我可以做到以下幾點:
DECLARE @Decimal1 DECIMAL(18,6),
@Int1 INT,
@Decimal2 DECIMAL(18,6),
@Int2 INT,
@Decimal3 DECIMAL(18,6)
SELECT @Decimal1 = 1.5,
@Int1 = 1,
@Decimal2 = 2.5,
@Int2 = 2,
@Decimal3 = 3
SELECT
CONVERT(
dbo.CustomType,
CONVERT(VARCHAR(20), @Decimal1) + ';' +
CONVERT(VARCHAR(20), @Decimal2) + ':' +
CONVERT(VARCHAR(2), @Int1) + ';' +
CONVERT(VARCHAR(20), @Decimal3) + ':' +
CONVERT(VARCHAR(2), @Int2)
)
在SSIS我有了所有的變量represetend列的數據集,但我怎麼能結合他們並將其轉換爲dbo.CustomType?
====
UPDATE:
使用OLE DB Command對象,而不是OLE DB目標內的INSERT語句的時候,我能夠插入自定義類型。
SO:
INSERT INTO Greg
VALUES (CONVERT(dbo.CustomType, '1;1:1;1:1;'))
作品,但
INSERT INTO Greg
VALUES (Convert(dbo.Customtype, ?))
給出了一個錯誤
[OLE DB命令[3103]錯誤:SSIS錯誤代碼DTS_E_OLEDBERROR。發生了OLE DB錯誤。錯誤代碼:0x80040E21。 OLE DB記錄可用。源:「Microsoft SQL Server本機客戶端10.0」Hresult:0x80040E21描述:「無效的字符值轉換規範」。
這似乎是想我的字符串列轉換爲字節流,但每當我試圖在這不斷變化的回字節流的高級編輯Param_0更改爲字符串
理想情況下,我們希望做一個步驟,但這樣做的工作。謝謝 – Greg