
写入clob数据
import java.io.Writer
import java.sql.Connection
import java.sql.DriverManager
import java.sql.ResultSet
import java.sql.Statement
public class TestClobIn {
public static void main(String args[]){
String data="this is a long passage!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
Writer outStream = null
//通过JDBC获得数据库连接
try {
Class.forName("Oracle.jdbc.driver.OracleDriver")
Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:ewins", "scott", "tiger")
con.setAutoCommit(false)
Statement st = con.createStatement()
//插入一个空对象empty_clob(),这个是必须的
st.executeUpdate("insert into TESTCLOB(ID, NAME, CLOBATTR)values(2,'thename', empty_clob())")
//锁定数据行进行更新,注意“for update”语句,这里不用for update锁定不可以插入clob
ResultSet rs = st.executeQuery("select CLOBATTR from TESTCLOB where ID=1 for update")
if (rs.next())
{
//得到java.sql.Clob对象后强制转换为oracle.sql.CLOB
oracle.sql.CLOB clob = (oracle.sql.CLOB) rs.getClob("CLOBATTR")
outStream = clob.getCharacterOutputStream()
//data是传入的字符串,定义:String data
char[] c = data.toCharArray()
outStream.write(c, 0, c.length)
}
outStream.flush()
outStream.close()
con.commit()
con.close()
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace()
}
}
}
读取clob数据
import java.io.InputStream
import java.io.Reader
import java.sql.Connection
import java.sql.ResultSet
import java.sql.Statement
public class TestClobOut {
public static void main(String args[]){
String data
Reader inStream=null
//获得数据库连接
Connection con = ConnectionFactory.getConnection()//ConnectionFactory类是另外定义的,不必纠结
con.setAutoCommit(false)
Statement st = con.createStatement()
//不需要“for update”
ResultSet rs = st.executeQuery("select CLOBATTR from TESTCLOB where ID=1")
if (rs.next())
{
java.sql.Clob clob = rs.getClob("CLOBATTR")
inStream = clob.getCharacterStream()
char[] c = new char[(int) clob.length()]
inStream.read(c)
//data是读出并需要返回的数据,类型是String
data = new String(c)
inStream.close()
}
inStream.close()
con.commit()
con.close()
}
}
数据库表中字段类型有二进制数据类型、字符数据类型、数字数据类型 等其中类型。具体类型如下所示:
1、二进制数据类型
Binary、Varbinary、Image
2、字符数据类型
Char,Varchar和 Text
3、Unicode数据类型
包括Nchar,Nvarchar和Ntext
4、日期和时间数据类型
包括Datetime, Smalldatetime, Date, TimeStamp
5、数字数据类型
数字数据类型包括正数和负数、小数和整数
6、货币数据类型
表示正的或者负的货币数量。
7、特殊数据类型
特殊的数据类型有3种,即Timestamp、Bit 和 Uniqueidentifier。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)