第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

在Java中使用ResultSet.getNString或getString來獲取代碼視圖。

在Java中使用ResultSet.getNString或getString來獲取代碼視圖。

夢(mèng)里花落0921 2023-08-04 18:57:23
我正在嘗試獲取帶有結(jié)果集的java 代碼視圖(Oracle)。但是當(dāng)我使用getStringorgetNString函數(shù)時(shí),我只得到一串 32K 字符。視圖的長(zhǎng)度大于 100K 個(gè)字符。我使用查詢:SELECT * FROM DBA_VIEWS請(qǐng)幫忙。
查看完整描述

3 回答

?
肥皂起泡泡

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超6個(gè)贊

使用 Reader,延遲訪問結(jié)果集。


try (Reader reader = rs.getNCharacterStream(...)) {

    if (reader == null) {

        return null;

    }

    StringWriter writer = new StringWriter();

    reader.transferTo(writer);

    return writer.toString();

}

try-with-resources 中允許使用 null reader。


transferTo自 java 10 以來就存在,這里有一個(gè)替代方案。


    char[] buf = new buf[1024];

    for (;;) {

        int nread = reader.read(buf);

        if (nread == -1) {

            break;

        }

        writer.write(buf, 0, nread);

    }


查看完整回答
反對(duì) 回復(fù) 2023-08-04
?
慕妹3242003

TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超6個(gè)贊

請(qǐng)檢查您的數(shù)據(jù)庫和驅(qū)動(dòng)程序版本。


getString適用于長(zhǎng)度 > 32K 的 LONG 列


例子


SELECT TEXT_LENGTH  FROM DBA_VIEWS where owner = 'SYS' and VIEW_NAME= 'DBA_STREAMS_COLUMNS';


TEXT_LENGTH

-----------

      36331

這剪斷了


 def rs = stmt.executeQuery("SELECT TEXT  FROM DBA_VIEWS where owner = 'SYS' and VIEW_NAME= 'DBA_STREAMS_COLUMNS'")


 while(rs.next())

  {

   String txt = rs.getString(1)  

   println "got txt    ${txt.take(10)}...${txt.reverse().take(10).reverse()}, size: ${txt.length()}"

  }

回報(bào)


got txt    select dis...     ) = 0, size: 36331

使用過的版本


Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production

DriverVersion 12.1.0.2.0


查看完整回答
反對(duì) 回復(fù) 2023-08-04
?
慕少森

TA貢獻(xiàn)2019條經(jīng)驗(yàn) 獲得超9個(gè)贊

我用 ResultSet.getBinariToString 解決了,該函數(shù)采用 dba_views.text 的所有字符。感謝你所做的一切。


public String getBinaryToString(String columna){

    try {

            java.io.InputStream is = resultados.getBinaryStream(columna);

            int intValueOfChar;

            String targetString = "";

            while ((intValueOfChar = is.read()) != -1) {

                targetString += (char) intValueOfChar;

            }

            is.close();

            return targetString;

        } catch (SQLException | IOException ex) {

            Logger.getLogger(Base.class.getName()).log(Level.SEVERE, null, ex);

        }

        return null;

}


查看完整回答
反對(duì) 回復(fù) 2023-08-04
  • 3 回答
  • 0 關(guān)注
  • 264 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)