2011-09-02 53 views
0

在這裏,我帶着另一個問題,可能不會回答,因爲這是一個奇怪的問題!我們正在使用Rational軟件開發平臺V6和WebSphere V5.1來運行我們的應用程序。我們與CVS合作共享資源。應用程序生成一個PDF報告並對其進行壓縮,然後將其放入BLOB字段中的數據庫(Oracle 9i)中。到目前爲止,一切正常。使用RAD,我們使用ojdbc14.jar連接數據庫(我們一直使用它,因爲永遠......)。所以,他這樣說,當我們在本地運行的應用程序,以下行引發一個異常:BLOB.createTemporary()無效的參數例外

tempBlob = BLOB.createTemporary(cnn, true, BLOB.DURATION_SESSION); 

唯一的例外是一個SQLException說呼叫無效的參數(S)。看着這個,我看不出哪個參數可能是錯誤的,因爲數據庫訪問是集中的,而對象cnn是OracleConnection類型,這是我們在整個應用程序中使用的相同函數進行檢索的結果。所以,我嘗試使用ByteInputStream來使用setByteStream設置準備語句的參數。我的字節數組的值是好的,它包含像2 MO這樣的東西。當我執行查詢時,它說1行更新。數據庫調用finished_time中有一個字段已成功更新,另一個字段(報告字段)爲空...

如果我回到createTemportary函數,我們每天爲3個開發人員工作解決問題的麻煩,我們發現沒有錯......所以,我決定遷移DEV服務器上的代碼。我承諾進行更改,創建一個全新的工作空間,檢出並運行一個Ant構建,構建這些構建,通過FTP發送WAR並將其部署到WebSphere服務器上。然後我嘗試生成報告並且數據庫成功更新。 createTemporary函數不會引發任何異常,但會在本地出現。問題是,我們當中沒有人可以在當地做到這一點!?!怎麼會?任何提示?

回答

0

我不知道它是否可以幫助,但我是在相同的情況。 我正試圖在blob中插入一個streamBuffer。我在Ubuntu操作系統中使用Oracle數據庫。 我通過更改oracle ojdbc驅動程序來解決問題。我用10g版本升級它。當您嘗試使用BLOB類型時,似乎9版本無法正常工作。 我希望它能提供幫助。 祝你好運...