2017-09-16 57 views
0

我有一個在AIX服務器上運行的WMB應用程序(v8),它使得jdbc連接可以插入Oracle 9數據庫。現在,我將它遷移到在LINUX服務器上運行的IIB(v10)以更新相同的數據庫。相同的插入查詢在LINUX服務器中引發錯誤。從IIB插入Oracle數據庫時出錯

正在顯示了該錯誤是:

錯誤DescrptionORA-01461:只能爲插入件結合的LONG值到LONG柱

我的查詢是:

INSERT INTO 
EVENT_DATA(
    SEQUENCEID, 
    CUSTOMERNUMBER, 
    DATETIME, 
    DEBTORNUMBER, 
    ENDUSERID, 
    PREMISENUMBER, 
    REPORTEVENTID, 
    REQUESTID, 
    SOURCECLIENTID, 
    SUCCESSINDICATOR) 
VALUES(
    73842, 
    100, 
    2017-09-16, 
    10064393, 
    Breeze1, 
    303746429, 
    AAMP, 
    1006, 
    O, 
    N) 

PS:在相同查詢成功執行時,列類型/數據中沒有錯誤/不匹配。我無法理解在Linux上運行的IIB10應用程序出了什麼問題。

+0

你真的沒有在字符串文字周圍使用引號嗎?或者你的文章中的代碼不是實際的代碼? –

+0

我在實際查詢中使用了引號..我在這裏提到查詢只是爲了給我插入的值的詳細信息 – genie

+0

嗯,我沒有真正的工作。嘗試最小化示例,最好是顯示問題的單個字段。它可能是一個長度超過2000字符的字符串字段。 –

回答

0

只能爲插入件結合的LONG值到LONG柱

上述錯誤出現因爲LONGLONG RAW數據類型已在Oracle數據庫reference被棄用。

此解決方案可能會將您的數據類型從更改爲CLOB

編輯

上述錯誤可以由超過VARCHAR或失配在VARCHAR的大小的限制而引起的。嘗試匹配其他數據類型的大小。我懷疑造成上述問題的varchar大小。由於尺寸差異varcharvarchar2

+0

我沒有使用LONG數據類型。所有的都是varchar,整數或日期類型。 – genie

+0

@genie請檢查更新上面與varchar大小 –

+0

我使用varchar2,所以沒有超出限制的問題,你可以看到與值(只有幾個字節)。顯然,數據(及其限制或列的類型)沒有問題,因爲從其他應用程序成功插入了相同的數據。我覺得它與Oracle Db或驅動程序或操作系統有關。 – genie