如果任何表名或列名包含數據庫保留字,如一個月或一年,該會話失敗Integration Service對數據庫執行SQL時發生數據庫錯誤。您可以在server/bin目錄中創建和維護保留字文件reswords.txt。當Integration Service初始化一個會話時,它搜索reswords.txt。如果文件存在,那麼Integration Service在對數據庫執行SQL時將引號放在匹配的保留字旁邊。
使用保留字時,請遵循以下規則和準則。
Integration Service在生成SQL以連接到源數據庫,目標數據庫和查找數據庫時搜索保留字文件。
如果您覆蓋源,目標或查找的SQL,則必須將任何保留字放在引號中。
您可能需要啓用某些數據庫(如Microsoft SQL Server和Sybase)以使用有關帶引號的標識符的SQL-92標準。使用連接環境SQL發出命令。例如,使用與Microsoft SQL Server以下命令:
SET QUOTED_IDENTIFIER ON
樣品reswords.txt文件 要使用保留字的文件,創建一個名爲reswords.txt文件並將其放置在服務器/ bin目錄。爲每個需要存儲保留字的數據庫創建一個部分。添加任何表或列名稱中使用的保留字。您不需要在此文件中存儲數據庫的所有保留字。 reswords.txt中的數據庫名稱和保留字不區分大小寫。
下面是一個示例reswords.txt文件:
[Teradata數據] MONTH日期間隔[甲骨文]選項啓動[DB2] [SQL服務器]電流[的Informix] [ODBC]月[的Sybase]
可能你寫入一個視圖? – momobo