簡體   English   中英

使用IBMDASQL提供程序將鏈接服務器的數據從SQL Server插入AS400數據庫時出錯

[英]Error while inserting data from SQL server to AS400 database using IBMDASQL provider for linked server

運行查詢后,我收到以下錯誤:

OLE DB provider "IBMDASQL" for linked server "DB2400OLEDB" returned message "SQL7008: TABLE1 in STAGING not valid for operation.
Cause . . . . . :   **The reason code is 3.** 
 Reason codes are: 
1 -- TABLE1  has no members. 
2 -- TABLE1  has been saved with storage free. ***
3 -- TABLE1  not journaled, no authority to the journal, or the journal state is *STANDBY.  Files with an RI constraint action of CASCADE, SET NULL, or SET DEFAULT must be journaled to the same journal.***
4 and 5 -- TABLE1  is in or being created into production library but the user has debug mode UPDPROD(*NO). 
6 -- Schema being created, but user in debug mode with UPDPROD(*NO).
7 -- A based-on table used in creation of a view is not valid. Either the table is program described table or it is in a temporary schema. 
8 -- Based-on table resides in a different ASP than ASP of object being created. 
9 -- Index is currently held or is not valid. 
10 -- A constraint or trigger is being added to an invalid type of table, or the maximum number of triggers has been reached, or all nodes of the distributed table are not at the same release level. 
11 -- Distributed table is being created in schema QTEMP, or a view is being created over more than one distributed table.
12 -- Table could not be created in QTEMP, QSYS, QSYS2, or SYSIBM because it contains a column of type DATALINK having the FILE LINK CONTROL option.
13 -- The table contains a DATALINK column or a LOB column that conflicts with the data dictionary.
14 -- A DATALINK, LOB, or IDENTITY column cannot be added to a non SQL table.
15 -- Attempted to create or change an object using a commitment definition in a different ASP.
16 -- Sequence TABLE1  in STAGING was incorrectly modified with a CL command.
17 -- The table is not usable because it contains partial transactions. Recovery  . . . :
   Do one of the following based on the reason code:
   1 -- Add a member to TABLE1  (ADDPFM).
   2 -- Restore TABLE1  (RSTOBJ). 3 -- Start journaling on TABLE1 (STRJRNPF), get access to the journal, or change the ...

IBMDASQL確實支持承諾控制; 它不是IBMDA400(根據http://www-01.ibm.com/support/docview.wss?uid=nas8N1014514鏈接)。 如果表未記錄,則事務必須在禁用承諾控制的情況下運行。 這是一個不好的做法。 該表應該記錄下來。 如果它會導致嚴重的性能問題,那幾乎可以肯定,因為系統太小而無法完成工作負載或配置不當。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM