关于sql server与db2的数据转换问题(急!)

hopehappiness 2003-08-30 11:15:58
在程序中将sql server中的数据写入db2中的相应表格字段中,如何将sql server中的image字段写入db2中(定义何种数据类型?如何写入?)。或是有没有其它的方法或工具可以转换?以下是我的过程:
String sql2 = "create table district2(zxid BIGINT, minx decimal(8), miny double, maxx double, maxy double, shape blob(16), AREA double, PERIMETER double, GRPH char(16), TYPE BIGINT, CNAME char(60), ENAME char(100))";
statement.executeUpdate(sql2);
String sql1 = "select zxid, minx, miny, maxx, maxy, shape, AREA, PERIMETER, GRPH, TYPE, CNAME, ENAME from district";
String sql = null;
try{
ResultSet rs = ds2.staStatement.executeQuery(sql1);
while(rs.next()){
rs.next();
zxid = rs.getLong("zxid");
minx = rs.getDouble("minx");
maxx = rs.getDouble("miny");
miny = rs.getDouble("maxx");
maxy = rs.getDouble("maxy");
shape = rs.getBytes("shape");
area = rs.getDouble("AREA");
perimeter = rs.getDouble("PERIMETER");
grph = rs.getString("GRPH");
type = rs.getLong("TYPE");
cname = rs.getString("CNAME");
ename = rs.getString("ENAME");
sql = "insert into district2(zxid,minx,miny,maxx,maxy,AREA,PERIMETER,GRPH,TYPE,CNAME,ENAME) values("+zxid+","+minx+","+miny+","+maxx+","+maxy+","+area+","+perimeter+",'"+grph+"',"+type+",'"+cname+"','"+ename+"')";
ds.staStatement.executeUpdate(sql);
}
}catch(Exception ex){
ex.printStackTrace();
System.out.println("Select Error!");
}

在插入shape(原来是image格式)时出错,提示遇到非法字符‘【’,打印shape时为[B@43!4
...全文
68 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
db2boy 2003-09-04
  • 打赏
  • 举报
回复
用db2的blob字段存储image字段,写入的方式参见http://www-900.ibm.com/developerWorks/cn/dmdd/support/sample_code/index.shtml 上面有个写blob到表中的java例子
hopehappiness 2003-08-30
  • 打赏
  • 举报
回复
问题补充:
在插入的sql语句中遗漏了shape字段。

5,889

社区成员

发帖
与我相关
我的任务
社区描述
IBM DB2 是美国IBM公司开发的一套关系型数据库管理系统,它主要的运行环境为UNIX(包括IBM自家的AIX)、Linux、IBM i(旧称OS/400)、z/OS,以及Windows服务器版本
社区管理员
  • DB2
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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