简体中文是英文的超集,应该没有什么问题.1. EXPORT (英文session)
2. Upgrade your DB (简体中文)
3. IMPORT ( 简体中文session)
2. Upgrade your DB (简体中文)
3. IMPORT ( 简体中文session)
解决方案 »
- 求助!!刚写完的一个分页 编译器通过 程序调用的时候 报标识符无效 代码如下:
- oracle 11g 子查询问题
- [斑竹手下留情,借宝地问个C#调用oracle过程的问题]C#中能调用oracle传入参数pl/sql
- 同一条记录中有的字段汉字正常,有的字段汉字不正常(变成了问号),请问如何解决!!
- u_char 是什么类型?
- 如何实现两个数据库的两阶段递交?请教
- 急问一个问题,下班之前必须要我搞定,请朋友们帮帮我...
- 安装oracle9i时告诉我“TNS 包写入程序失败”是怎么回事?
- 急,有人碰到这个问题没有?
- plsql无法使用
- plsql developer编写程序包和程序包体的问题
- access和oracle数据库的数据导入问题!急救!
很详细了
前一段时间在
http://www.itpub.net/showthread.php...15&pagenumber=1
中讨论的DMP不同字符集之间自由转换工具,经过一位java朋友的帮忙,今天奉献上biti提议的java存储过程修改方法: DumpChange.java脚本: import java.io.*; public class DumpChange
{
public static String ChangeCharSet(String fileName,String value)
throws IOException,NumberFormatException
{
try
{
value=value.trim();
if(value.length()<4)
value=new String("0000"+value).substring(value.length());
else if(value.length()>4)
throw new NumberFormatException(value+"is error,length>4.");
RandomAccessFile raf=new RandomAccessFile(fileName,"rw");
byte[] bts=new byte[2];
bts[0]=new Integer(Integer.parseInt(value.substring(0,2),16)).byteValue();
bts[1]=new Integer(Integer.parseInt(value.substring(2),16)).byteValue();
raf.seek(1);
raf.write(bts);
raf.close();
return "OK";
}
catch(Exception e)
{
return e.toString();
}
}
}
C:\>loadjava -user scott/tiger@128 -r -f -v c:\DumpChange.java
initialization complete
loading : DumpChange
creating : DumpChange
resolver :
resolving: DumpChange C:\>sqlplus /nolog SQL*Plus: Release 8.1.7.0.0 - Production on Tue Aug 13 15:35:00 2002 (c) Copyright 2000 Oracle Corporation. All rights reserved. SQL> conn sys/change_on_install@ora8db1 as sysdba
Connected.
SQL> CREATE OR REPLACE FUNCTION SCOTT.DumpCharSet(FileName in varchar2,HexCharSet in varchar2) return varchar2 as language java name 'DumpChange.ChangeCharSet(java.lang.String,java.lang.String) return java.lang.String';
2 / Function created.
SQL> CREATE OR REPLACE FUNCTION SCOTT.TO_CHARSET (Filename in varchar2,CharSet in varchar2) return varchar2 as
HexId varchar2(10);
ret varchar2(500);
begin
select to_char(NLS_CHARSET_ID(CharSet),'xxxx') into HexId from dual;
HexId:=trim(HexId);
select DumpCharSet(Filename,HexId) into ret from dual;
return ret;
end;
/ Function created. SQL> execute dbms_java.grant_permission('SCOTT','SYS:java.io.FilePermission','C:\EXPDAT.DMP','read,write'); PL/SQL procedure successfully completed. SQL> select SCOTT.to_charset('C:\EXPDAT.DMP','ZHS16GBK') from dual; SCOTT.TO_CHARSET('C:\EXPDAT.DMP','ZHS16GBK')
-------------------------------------------------------------------------------- OK