楼主: yyy

[精华] Java过程修改dump文件成特定字符集

[复制链接]
论坛徽章:
3
ITPUB元老
日期:2005-02-28 12:57:00授权会员
日期:2005-10-30 17:05:33会员2006贡献徽章
日期:2006-04-17 13:46:34
11#
发表于 2002-8-14 09:40 | 只看该作者

小学语文不及格

使用道具 举报

回复
论坛徽章:
86
ITPUB元老
日期:2005-02-28 12:57:002012新春纪念徽章
日期:2012-01-04 11:49:542012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:20咸鸭蛋
日期:2012-05-08 10:27:19版主8段
日期:2012-05-15 15:24:112013年新春福章
日期:2013-02-25 14:51:24
12#
发表于 2002-8-14 09:41 | 只看该作者

把java的这个存储过程

所有的步骤做一个图形化界面/支持命令行

只要用户提供足够的信息,比如  user/pass   net_service_name
然后自动执行所有过程

最后,让用户输入/选择  dmp文件(含路径)  和 目标字符集
然后点  ok  就可以了  

并且一经“安装”这个功能
所有用户都可以使用,当然也可以通过sp直接运行

使用道具 举报

回复
论坛徽章:
3
ITPUB元老
日期:2005-02-28 12:57:00授权会员
日期:2005-10-30 17:05:33会员2006贡献徽章
日期:2006-04-17 13:46:34
13#
发表于 2002-8-14 09:43 | 只看该作者
我看还是用纯的java比较好
不过可以加个undo功能
万一不可以可以回来

使用道具 举报

回复
论坛徽章:
4
授权会员
日期:2005-10-30 17:05:33会员2006贡献徽章
日期:2006-04-17 13:46:342009日食纪念
日期:2009-07-22 09:30:00林肯
日期:2013-12-07 22:20:05
14#
 楼主| 发表于 2002-8-14 11:02 | 只看该作者
上面java代码有一点bug,已经修改。

还有,看到自己的帖子被置顶,原来真的停爽!

做完了这个我最大的感受还有:原来java在Oracle里可以这样用,Oracle对Java的支持确实是实实在在的。学点java用到Oracle里,就可以把Oracle的能力进一步扩展到更广阔的领域。大家努力。

使用道具 举报

回复
论坛徽章:
4
授权会员
日期:2005-10-30 17:05:33会员2006贡献徽章
日期:2006-04-17 13:46:34慢羊羊
日期:2015-03-04 14:19:442015年新春福章
日期:2015-03-06 11:57:31
15#
发表于 2002-8-14 11:19 | 只看该作者
ultraedit 打开几百M到上G的文件很慢,我试了winHex,哪个速度啊,闪电!

使用道具 举报

回复
论坛徽章:
2
授权会员
日期:2005-10-30 17:05:33会员2006贡献徽章
日期:2006-04-17 13:46:34
16#
发表于 2002-8-14 15:12 | 只看该作者
爽,oracle和java真是亲!

使用道具 举报

回复
论坛徽章:
7
ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:442008新春纪念徽章
日期:2008-02-13 12:43:03生肖徽章2007版:牛
日期:2008-05-06 11:05:47CTO参与奖
日期:2009-02-20 09:44:20ITPUB8周年纪念徽章
日期:2009-09-27 10:21:22
17#
发表于 2002-8-14 15:30 | 只看该作者

不太明白,各位老大。

我问了个程序员,人家说上面那段代码不能直接使用。不完全,有这么回事吗?

使用道具 举报

回复
论坛徽章:
86
ITPUB元老
日期:2005-02-28 12:57:002012新春纪念徽章
日期:2012-01-04 11:49:542012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:20咸鸭蛋
日期:2012-05-08 10:27:19版主8段
日期:2012-05-15 15:24:112013年新春福章
日期:2013-02-25 14:51:24
18#
发表于 2002-8-14 15:59 | 只看该作者

经过测试

完全按照上面步骤做下来,在windows上通过,没有问题!

使用道具 举报

回复
论坛徽章:
19
授权会员
日期:2005-10-30 17:05:33马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:142012新春纪念徽章
日期:2012-02-13 15:10:582012新春纪念徽章
日期:2012-02-13 15:10:582012新春纪念徽章
日期:2012-02-13 15:10:582012新春纪念徽章
日期:2012-02-13 15:10:582012新春纪念徽章
日期:2012-02-13 15:10:58
19#
发表于 2002-8-14 23:15 | 只看该作者
提点意见,程序写得罗嗦点。既然要用的不是String干吗传个String进去,又TRIM,又判断长度的。
DumpChange.java脚本:

import java.io.*;

public class DumpChange
{
public static String ChangeCharSet(String fileName,short value)
throws IOException
{
try
{
RandomAccessFile raf=new RandomAccessFile(fileName,"rw";
byte[] bts=new byte[2];
bts[0]=value / 256;
bts[1]=value % 256;
raf.seek(1);
raf.write(bts);
raf.close();
return "OK";
}
catch(Exception e)
{
return e.toString();
}
}
}
CREATE OR REPLACE FUNCTION SCOTT.DumpCharSet(FileName in varchar2,charsetid in number) return varchar2 as language java name 'DumpChange.ChangeCharSet(j
ava.lang.String,short) return java.lang.String';
/

Function created.

CREATE OR REPLACE FUNCTION SCOTT.TO_CHARSET
(Filename in varchar2,CharSet in varchar2) return varchar2
as
charsetid number(5,0);
ret varchar2(500);
begin
charsetid := NLS_CHARSET_ID(CharSet);
if charsetid is null then
   return 'INVALID CHARACTER SET SPECIFIED';
end if;
select DumpCharSet(Filename,charsetid) into ret from dual;
return ret;
end;
/

使用道具 举报

回复
论坛徽章:
1
授权会员
日期:2005-10-30 17:05:33
20#
发表于 2002-8-16 16:51 | 只看该作者
可否详细的解释一下?不是很懂的说。

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表