我們正試圖將大型CLOBS存儲到DashDB中進行分析。是的,已經創建的表是行組織的。DashDB行組織表支持CLOBS嗎?
CREATE TABLE test(
KEY VARCHAR(1000) NOT NULL,
MP3_FILE CLOB(250M) NOT NULL,
PRIMARY KEY(KEY)
) ORGANIZE BY ROW;
更妙的是,如果我們能夠存儲BLOB,所以我們就不必通過base64'ing增加文件大小。
然而,即使有CLOBS,我們有錯誤:
com.ibm.db2.jcc.am.SqlSyntaxErrorException:DB2 SQL錯誤:SQLCODE = -204,SQLSTATE = 42704,則sqlerrmc = DASH107483.TEST, DRIVER = 3.71.22
我們使用的代碼類似於:
PreparedStatement pre = connection.prepareStatement("insert into test (key,mp3_file) values (?,?)");
pre.setString(1, "test");
pre.setCharacterStream(2, new StringReader(encoded), encoded.length());
int count = pre.executeUpdate();
connection.commit();
logger.info("mergedMP3 file isUpdated: " + count);
pre.close();
connection.close();
感謝, 亞倫
使用大寫名稱後 - >最後,字節而不是base64的設置是更好的解決方案。 –