java操纵SQL Server2000大型对象

2016-02-19 15:35 0 1 收藏

今天给大家分享的是由图老师小编精心为您推荐的java操纵SQL Server2000大型对象,喜欢的朋友可以分享一下,也算是给小编一份支持,大家都不容易啊!

【 tulaoshi.com - 编程语言 】

  

import java.io.*;
import java.sql.*;
public class Db {
public static void main(String[] args) {
Db ac = new Db();
String blobname = "D:test1.jpg"; //blob文件名
String in = "insert into ";
String in1 = "(id,data) values(´0012´,?)";
String tablename = "Ss";
String sqlstr = ""; // sql 语句
sqlstr = in + tablename + in1;
ThreadUseExtends thread = new ThreadUseExtends(blobname,sqlstr);
thread.insert();
thread.getCover();
}
}
class ThreadUseExtends {
String filename1;//blob filename
String str;
//ReadFiles r1 = new ReadFiles();
//构造函数要有(blob文件名,clob文件名,sql语句)
public ThreadUseExtends(String name1,String sqlstr)
{
filename1 = name1;
str = sqlstr;
System.out.println("I carry out this");
}
public void insert()
{
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url = "jdbc:odbc:LW";
Connection con = DriverManager.getConnection(url);
//String testLong = r1.ReadFile(filename1);
File file=new File(filename1);
InputStream fin=new FileInputStream(file);
int fileLength=(int)file.length();
//byte[] ba = testLong.getBytes();
System.out.println("str=" + str);
PreparedStatement stm = con.prepareStatement(str);
stm.setBinaryStream(1,fin,fileLength);
stm.execute();
stm.close();
con.close();
}
catch (Exception e)
{
e.printStackTrace();
}
}
//本函数用于把数据库的内容从数据库中读出,并保存在文件中。
public void getCover() {
InputStream in=null;
Connection cn = null;
PreparedStatement pst = null;
byte buf[]=new byte[50000];
DataOutputStream output=null;
int size;
System.out.println("have carry out this");
try
{
output=new DataOutputStream(new FileOutputStream("D:test2.jpg"));
}
catch(IOException e)
{
System.err.println("File not opened n"+e.toString());
System.exit(1);
}
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url = "jdbc:odbc:LW";
cn = DriverManager.getConnection(url);
pst=cn.prepareStatement("SELECT data FROM Ss where ID =´0012´");
// pst.setString(1,id);
ResultSet rs=pst.executeQuery();
while(rs.next())
{
in=rs.getBinaryStream("data");
while ((size=in.read(buf,0,50000))!=-1) {
output.write(buf,0,size);
}
}
}
catch (SQLException sqle) {
System.err.println("Error in CoverServlet : getCover()-" + sqle);
sqle.printStackTrace() ;
}
catch (Exception e)
{
e.printStackTrace();
}
finally {
try {
pst.close() ;
cn.close() ;
}
catch (Exception e) {
e.printStackTrace();
}
}
}
}//ThreadUseExtends class

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

来源:https://www.tulaoshi.com/n/20160219/1609961.html

延伸阅读
标签: 服务器
SQL Server2000安装时提示挂起的解决方法 安装 SQL2000 时,系统经常会提示:操作被挂起,要求重新启动计算机,如图1: 图1 重新启动后,再次安装时问题仍然存在。 解决办法: 1:在开始菜单中点击运行,输入 regedit ,打开注册表。 2:展开 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession Manag...
到网上下载以上三个软件并安装 jdk1.4安装目录:D:/jdk14 Tomcat5.0安装目录:D:/tomcat5 SQL Server2000安装目录默认 /////////////////////////////////////////////// 一、设置环境变量 Classpath D:jdk14libools.jar;D:jdk14libdt.jar; D:omcat5in;D:Program Files Microsoft SQL...
1:获取当前数据库中的所有用户表 select Name from sysobjects where xtype='u' and status=0 2:获取某一个表的所有字段 select name from syscolumns where id=object_id('表名') 3:查看与某一个表相关的视图、存储过程、函数 select a.* from sysobjects a, syscomments b where a.id = b.i...
标签: SQLServer
同步过程 一、准备工作,如果完成则可跳过。 1、内网DB服务器作为发布服务器,外网DB服务器作为订阅服务器。 发布服务器和订阅服务器上分别创建Windows用户jl,密码jl,隶属于administrators,注意要保持一致。 2、发布服务器上创建一个共享目录,作为发布快照文件的存放目录。例如:在D盘根目录下建文件夹名为SqlCopy,设置用户jl,权限为完...
标签: SQLServer
SQL Server2000中,如果数据库文件(非系统数据库文件)遇到错误的时候,我们该怎么办。以下是笔者以前的笔记。仅适用于非master,msdb的数据库。   说明如下: 1 建一个测试数据库test(数据库类型为完全) 2 建一个表,插入点记录   create table a(c1 varchar(2))   go   insert into a values('aa')   go   ...

经验教程

132

收藏

34
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部