2016-02-26 81 views
0

我想創建一個表。在表名id是唯一的 (MARKET_ id是表的名稱)。ssis字符串變量值應該用於執行sql任務

id有前導零需要保留。所以我宣稱id是一個字符串變量。

例如:id=02161515。在參數映射中,我將它映射爲VARCHAR

當我使用sql語句CREATE TABLE MARKET_?;時發生錯誤。它導致:CREATE TABLE MARKET_'02161515';引號是不必要的,並在sql語句中發現錯誤"'"

請幫忙!

回答

1

我想你有列添加到您的表,但不張貼?

解決此問題的一種方法是創建兩個變量,一個用於表名,一個用於create table語句。

實施例(用於演示僅):
第一個變量是TABLE_NAME並用下式定義爲動態命名的示範:
"dmu.MY_TABLE_"+(DT_STR,30,1252)datepart("s",getdate()) + "(id int)"

第二變量是CREATE_TABLE_SQL和定義如下:
"Create table "+ @[User::TABLE_NAME]

SSIS Varibles

下一頁更改Execute_SQL_Task的設置:
設置SQLSourceType到可變SourceVariable爲User :: CREATE_TABLE_SQL Execute_SQL_Task Settings
這將在數據庫中創建表

+0

非常感謝您的洞察力 –