|
|
Вопрос : Пакет SSIS ETL к уточнению/источнику сцены вставки к назначению?
|
|
|
Здравствулте!,
Could, котор кто-то угождает помогает мне здесь, ново к веществу SSIS и ETL, я имею первоначальные данные будучи поставленным к таблице SQL, которую я после этого хочу для того чтобы двинуть к нашей таблице продукции и уточнить/вставка записывает комплект основанный на уникально таблице сцены key.
The имеет рядок «SEQ» который определяет записывает после того как он установлен, основанный на SEQ я хочу сравнить таблицу назначения и если SEQ существует, то уточняю показатель целого или вставка новое otherwise.
I am using SSIS для выполнения этого согласно изображению attached.
1. соединяет ОЛЕ редактора преобразования взгляда вверх DB Source 2., и устанавливает выход ошибки проигнорировать failure. 3. условно Split - введите рекордное состояние: ISNULL (Dest_SEQ) - уточните рекордное состояние: (Dest_TYP! = TYP) || (Dest_SALEDATE! = SALEDATE) || (Dest_INVOICED! = ВЫСТАВЛЯНО СЧЕТ) || (Dest_WEEKDATE! = WEEKDATE) || (Dest_EWK! = EWK) || (Dest_ZWK! = ZWK) || (Dest_IY! = IY) || (Dest_WK! = WK) || (Dest_ROMO! = ROMO) || (Dest_ROYR! = 4. ROYR). Новое Reords идет к ОЛЕ показателям DB Destination 5. обновленный идет к ОЛЕ командование DB как такое:
UPDATE dbo.sales SET TYP =? , SALEDATE =? , INVOICED =? , WEEKDATE =? , EWK =? , ZWK =? , IY =? , WK =? , ROMO =? , ROYR =? WHERE SEQ =? таблица сцены
The имеет около 100 колонок с данными, поэтому я не уверен как соотвествующе он должен определить условие показателя уточнения для каждая одного из тех, возможно мой показатель уточнения будет очень дорогий далеко как ресурс когда мы поговорим около 100.000 уточнений.
Is там дорога я смогу изменить это так, что в условно разделении (или использовать что-то еще) для того чтобы проверить если сцена SEQ существую в назначении, если оно делаю, то для уточнения всех работ record.
The вышеуказанных, но идеально должен я создаю главным образом ключа на моей SEQ таблице, и после этого делающ уточнение/вставку основанные дальше если главным образом ключ существует или не, то, как smogл я выполнить это?
Right теперь, если я устанавливаю SEQ, то по мере того как главным образом ключ на моей таблице назначения «сбываний», и после того как я re-run мое SSIS я получает ошибку: показатель DB
An ОЛЕ имеющийся. Источник: «Клиент» Hresult Майкрософт SQL родной: описание 0x80004005: «Нарушение ограничения по «PK_sales_1» ГЛАВНЫМ ОБРАЗОМ КЛЮЧА. Не смогите ввести двойной ключа в предмет «dbo.sales».».
But таблица пуст, почему не может оно ввести SEQ ключа?
Thanks для полностью вашего направляющего выступа help.
The я последовал за было: target= " _blank " " http://vsteamsystemcentral.com/cs21/blogs/applied_business_intelligence/archive/2007/05/21/ssis-design-pattern-incremental-loads.aspx " href= .com/cs21/blogs/applied_business_intelligence/archive/2007/05/21/ssis-design-pattern-incremental-loads.aspx http://vsteamsystemcentral
class= " ясное " >
> " codeSnippet " class=
class= " lineNumbers "
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
|
class=
план таблицы " class= " " codeSnippet912413 id= Staging:
ИСПОЛЬЗУЙТЕ [сбывания]
СОЗДАЙТЕ ТАБЛИЦУ [dbo]. [stg_sales] (
[SEQ] [int] НЕ АННУЛИРУЙТЕ,
[TYP] [varchar] (1) NULL,
[SALEDATE] [varchar] (50) АННУЛИРУЙТЕ,
[ВЫСТАВЛЯНО СЧЕТ] [varchar] (50) АННУЛИРУЙТЕ,
[WEEKDATE] [varchar] (50) АННУЛИРУЙТЕ,
[EWK] [varchar] (50) АННУЛИРУЙТЕ,
[ZWK] [varchar] (50) АННУЛИРУЙТЕ,
[IY] [varchar] (50) АННУЛИРУЙТЕ,
[WK] [varchar] (50) АННУЛИРУЙТЕ,
[ROMO] [varchar] (50) АННУЛИРУЙТЕ,
[ROYR] [varchar] (50) АННУЛИРУЙТЕ,
[YRTD] [varchar] (50) АННУЛИРУЙТЕ,
ИДИТЕ
План таблицы назначения:
ИСПОЛЬЗУЙТЕ [сбывания]
СОЗДАЙТЕ ТАБЛИЦУ [dbo]. [сбывания] (
[SEQ] [int] НЕ АННУЛИРУЙТЕ,
[TYP] [varchar] (1) NULL,
[SALEDATE] [varchar] (50) АННУЛИРУЙТЕ,
[ВЫСТАВЛЯНО СЧЕТ] [varchar] (50) АННУЛИРУЙТЕ,
[WEEKDATE] [varchar] (50) АННУЛИРУЙТЕ,
[EWK] [varchar] (50) АННУЛИРУЙТЕ,
[ZWK] [varchar] (50) АННУЛИРУЙТЕ,
[IY] [varchar] (50) АННУЛИРУЙТЕ,
[WK] [varchar] (50) АННУЛИРУЙТЕ,
[ROMO] [varchar] (50) АННУЛИРУЙТЕ,
[ROYR] [varchar] (50) АННУЛИРУЙТЕ,
[YRTD] [varchar] (50) АННУЛИРУЙТЕ,
ИДИТЕ
|
class= " lastRow
>Attachments " имени " class=
class= " значение " | | | > |