blob数据插入问题:Help!!!!!!!!

microwin 2002-04-04 11:51:00
try {
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
File f = new File("d:\\dt.gif");
FileInputStream fin = new FileInputStream(f);
Connection cnn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:ora817","user","password");
PreparedStatement ps = cnn.prepareStatement("insert into basic_blob values (?,?)") ;
ps.setString(1,f.getName());
ps.setBinaryStream(2,fin,(int)f.length());
ps.executeUpdate() ;
ps.close();
fin.close();
}
catch (Exception ex) {
ex.printStackTrace();
}

以上代码出现:

java.sql.SQLException: Io 异常: End of TNS data channel
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:168)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:210)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:323)
at oracle.jdbc.driver.OracleStatement.close(OracleStatement.java:604)
at oracle.jdbc.driver.OraclePreparedStatement.privateClose(OraclePreparedStatement.java:290)
at oracle.jdbc.driver.OraclePreparedStatement.close(OraclePreparedStatement.java:235)
at com.borland.samples.welcome.BlobTest.main(BlobTest.java:44)

如果将
jdbc:oracle:thin:@localhost:1521:ora817","user","pass"
改为连接不是本地数据库(其它机器上oracle)
jdbc:oracle:thin:@remotehost:1521:ora817","user","pass"
出现
java.sql.SQLException: Io 异常:Connection reset by peer:socket write error.....
...全文
27 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
gdsean 2002-04-04
  • 打赏
  • 举报
回复
在windows的服务里面打开TNS服务
warmcat 2002-04-04
  • 打赏
  • 举报
回复
或试试:
byte[] bytes = new byte[fin.available()];
fin.read(bytes);
ps.setBytes(2,bytes);
warmcat 2002-04-04
  • 打赏
  • 举报
回复
ps.setBinaryStream(2,fin,(int)f.length());
改成:
ps.setBinaryStream(2,fin,fin.aviable());

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧