易截截图软件、单文件、免安装、纯绿色、仅160KB

Oracle里汉字长度问题


问题描述:
  varchar2(4000) abc;
  intert into table_name(abc) values('这里有1500个汉字……');
  报错:插入字符过长!经过测试,发现一个汉字占3个字节,所以报错!!!
  问题所在:
  使用的字符集是UTF8,就有可能出现这个错误!
  使用命令查看:
  SQL> select * from v$nls_parameters where parameter='NLS_CHARACTERSET';
  PARAMETER
  --------------------------------------------------------------------------------
  VALUE
  --------------------------------------------------------------------------------
  NLS_CHARACTERSET
  AL32UTF8
解决方法:
  建议使用ZHS16GBK字符集!
  操作:
  SQL> SHUTDOWN IMMEDIATE;
  SQL> STARTUP MOUNT;
  SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION;
  SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
  SQL> ALTER DATABASE OPEN;
  SQL> ALTER DATABASE CHARACTER SET AL32UTF8/ZHS16GBK;
  SQL> SHUTDOWN IMMEDIATE;
  SQL> STARTUP;
问题解决!


相关文档:

oracle调用java程序连sqlserver2005

1、在oracle的sys-sysdba下登陆
写一个java source程序链接sqlserver2005:
create or replace and compile java source named test as
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
public class excutesql1
{
    public static String entry ......

mysql 与Oracle 函数对比

Oracle函数和mysql函数比较
1.       Oracle中的to_number()转换成数字;
Oracle> Select to_number(‘123’) from dual;  -----         123;
           &nbs ......

oracle与sqlserver执行count(*)返回的结果兼容

由于以前都是在sqlserver 2005处理,现在客户要求oracle数据库服务器,
最初的代码为:
allRecordSize = (Integer) rs1.getObject(1);    //Integer allRecordSize=0;
当执行的时候报:BigDecimal无法转化为Integer类型
为了兼容两者修改后的代码为:
  Object o = rs1.getObject(1);
 &nbs ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号