Je l'ai écrit en me référant au site suivant. 彡 (゜) (゜) Wai java n'est pas familier, il y a donc un pardon et 彡 (-) (-)
Exemple d'instruction SELECT http://java-reference.com/java_db_select.html
Interface Clob https://docs.oracle.com/javase/jp/8/docs/api/java/sql/Clob.html
La définition de la table est la suivante (゜) (゜)
SQL> DESC LOB_TBL
Name Null? Type
------------- -------- ----------------------------
LOB_ID NOT NULL NUMBER
LOB_DATA CLOB
L'exemple de source java est le suivant (゜) (゜)
import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Clob;
public class LOBSelectSample {
public static void main(String[] args) throws Exception{
//initialize
System.out.println("Init...");
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
Clob cl = null;
//DB connection info
String path = "jdbc:oracle:thin:@localhost:1521:orcl"; //path
String id = "xxxxxxxx"; //ID
String pw = "yyyyyyyy"; //password
try{
//JDBC Driver
Class.forName("oracle.jdbc.driver.OracleDriver");
//DB Connect
System.out.println("Connect...");
conn = DriverManager.getConnection(path, id, pw);
//SELECT
System.out.println("Select...");
ps = conn.prepareStatement("SELECT * FROM LOB_TBL");
rs = ps.executeQuery();
//Column count
int colCount = rs.getMetaData().getColumnCount();
System.out.println("Get Column:" + colCount);
//Output
while (rs.next()) {
System.out.print(rs.getInt("LOB_ID"));
System.out.println();
cl = rs.getClob("LOB_DATA");
if (cl != null) {
System.out.print(cl.getSubString(1, (int)cl.length()));
//System.out.print(cl.getSubString(1, 2097152));
}
System.out.println();
}
} catch(Exception ex) {
//Exception
ex.printStackTrace(); //Error
} finally {
//Close
if(rs != null) rs.close();
if(ps != null) ps.close();
if(conn != null) conn.close();
}
}
}
Compilez, Han silencieusement java brut! 彡 (゜) (゜)
javac -classpath .:${ORACLE_HOME}/jdbc/lib/ojdbc8.jar LOBSelectSample.java
Commande d'exécution, Han est silencieux t (ry
java -classpath .:${ORACLE_HOME}/jdbc/lib/ojdbc8.jar LOBSelectSample
À la suite de l'exécution, le texte SQL qui était coincé dans la colonne LOB_DATA est sorti. 彡 (^) (^)
Init...
Connect...
Select...
Get Column:2
1
2
with …
:
(Omission)
:
… from dual
Recommended Posts