MYSQL移植到ORACLE需要注意的几点
一、mysql中的bigint,varchar,datetime这样的类型需要转换为number,varchar2,date。
二、HIBERNATE中的对应自动增长字段应该转化,需要在oracle下建立一个sequence,由这个序列来为自动增长字段提供自动增长的值。
例如:
CREATE TABLE alarm(
alarmid number PRIMARY KEY,
serial varchar2(16) NULL,
message varchar2(255) NULL,
alarmtime date NULL,
state varchar2(16) NULL,
companyid varchar2(255) NULL,
carid varchar2(255) NULL
);
create sequence seq_carlocation_alarm increment by 1 start with 1 nomaxvalue;
对应的hibernate文件应该为:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping default-lazy="false">
<class name="com.thtf.ezone.ezmap.model.Alarm" table="alarm">
<id name="alarmid"
column="alarmid"
length="20">
<generator class="native">
<param name="sequence">seq_carlocation_alarm</param>
</generator>
</id>
。。。。。
</class>
</hibernate-mapping>
三、ORACLE中默认了日期类型,其默认的日期类型是dd-mon-yy,如果程序需要对插入的日期类型做更改,例如插入类型为:‘YYYY-MM-DD HH-MM-SS’。需要在INITSID.ORA的最后一行中加入:
NLS_DATE_FORMAT=‘YYYY-MM-DD HH24-Mi-SS’(注意与上面类型的变化)
如果文件中有关于NLS_DATE_FORMAT的定义那么只需要修改就可以了。
然后用sqlplus以SYSDBA的身份登陆数据库,执行下面语句:
update props$ set value$='YYYY-MM-DD HH24:MI:SS' where name='NLS_DATE_FORMAT';
四、对于中文显示的问题的解决方法:
用Sqlplus以SYSDBA的身份登陆数据库,关闭数据库。执行以下操作:
SQL> STARTUP MOUNT;
SQL> ALTER SESSION SET SQL_TRACE=TRUE;
SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION;
SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
SQL> ALTER SYSTEM SET AQ_TM_PROCESSES=0;
SQL> ALTER DATABASE OPEN;
SQL> set linesize 120
SQL> ALTER DATABASE CHARACTER SET ZHS16GBK;
然后执行:
update props$ set value$='ZHS16GBK' where name='NLS_CHARACTERSET'
并且要保证你的ORACLE中的字符集和系统字符集一致。可以在系统中执行下列命令:
Export NLS_LANGUAGE=“AMERICAN_ AMERICA. ZHS16GBK”
分享到:
相关推荐
在将Oracle数据库系统移植到MySQL的过程中,主要涉及以下几个关键知识点: 1. **数据类型差异**: Oracle和MySQL的数据类型存在显著差异,这直接影响到数据迁移的顺利进行。例如: - 数值类型:Oracle的`NUMBER`...
在实际迁移过程中,有几点需要注意: 1. 数据库兼容性:确保目标SQL Server版本与源Oracle数据库的数据结构和功能相匹配。 2. 数据类型映射:Oracle和SQL Server的数据类型有所不同,SSMA会自动进行映射,但可能需要...
在数据库移植过程中,MySQL Migration Toolkit提供了以下几个关键知识点: 1. **数据迁移**:该工具支持将数据从多种不同的数据库系统(如Oracle、SQL Server、Access等)迁移到MySQL,反之亦然。这使得用户能够...
两者之间的相同点在于,MySQL 和 Oracle 都是关系型数据库,遵循ACID(原子性、一致性、隔离性和持久性)原则,支持SQL语言,用于存储、管理和检索结构化数据。它们都是目前市场上最流行的选择。 两者的区别主要...
使用绿色版MySQL需要注意以下几点: 1. **配置文件**:虽然绿色版MySQL免安装,但还是需要配置my.ini文件来设置数据库的参数,如端口、数据文件路径等。 2. **数据存储**:绿色版MySQL的数据文件通常存放在解压...
在编写这些数据库系统的脚本时,开发者需要考虑以下几点: 1. **SQL标准兼容性**:虽然所有这些系统都基于SQL标准,但每个都有自己独特的语法和特性。理解这些差异对于编写可移植的脚本至关重要。 2. **性能优化**...
MySQL之所以受到众多开发者的青睐,主要原因包括但不限于以下几点: - **多语言支持**:MySQL提供了对多种编程语言的支持,如C/C++、Python、Java、Perl、PHP、Ruby等,这使得开发者能够根据项目需求选择最适合的...
MySQL的优势不仅在于速度和资源效率,还在于它与更复杂数据库系统(如PostgreSQL、Oracle、Sybase)之间的高度可移植性,这让开发者能够在不同数据库平台之间进行平滑切换。 《MySQL权威指南》这本书为数据库管理员...
然而,尽管MySQL有诸多优点,企业在实际应用中仍需注意以下几点: - **技术培训**:虽然MySQL易于上手,但为了充分发挥其性能,企业需要对员工进行数据库管理的技术培训。 - **备份与恢复策略**:任何数据库都需要...
根据提供的文件信息,我们可以归纳和展开以下几个核心知识点: ### 一、MySQL的发展历程 #### MySQL的起源与发展 - **1979年**: Allan Larsson 和 Michael Widenius(Monty)开发了第一款数据库工具 UNIREG,该...
MySQL OCP(Oracle Certified Professional)是Oracle公司推出的MySQL认证考试,证明了考生具备在数据库设计、管理、维护等方面的高级专业技能。IZO-888是MySQL OCP认证考试中的一门考试代码,它考核考生对MySQL...
1. **SQL Server Migration Assistant (SSMA)**: SSMA是一个强大的工具集,支持多种数据库平台到SQL Server的迁移,包括Oracle、MySQL、Access、DB2等。它自动评估迁移可行性,转换数据库对象,并迁移数据。 2. **...
MySQL相对于其他大型数据库如Oracle、DB2、SQL Server等,具有以下特点: 1. 可处理大规模数据:即使包含上千万条记录,MySQL也能保持较好的性能。 2. SQL兼容性:MySQL支持标准SQL语法,使得数据操作简便。 3. 高可...
说明:Oracle中需要创建用户一定是要具有dba(数据库管理员)权限的用户才能创建,而且创建的新用户不具备任何权限,连登录都不可以。 用法:create user 新用户名 identified by 密码 例子: 2. 修改密码 说明:...
MySQL安装配置教程主要涵盖以下几个关键知识点: 1. **MySQL简介**:MySQL是一种关系型数据库管理系统(RDBMS),由瑞典的MySQL AB公司开发,现在属于Oracle公司。它以速度快、可移植性好、成本低而受到广泛应用,...
- **简单维护**:相对于Oracle、DB2、SQL Server等大型数据库,MySQL的调试、管理和优化过程更为简单。 3. **日期和时间函数**: - **TO_DAYS()**:将日期转换为自0000年1月1日以来的天数,用于比较日期。 - **...
### MySQL习题及答案知识点详解 #### 一、MySQL事务处理机制 在默认情况下,MySQL运行在自动提交(`autocommit`)模式下。这意味着每当执行一个数据修改指令(如INSERT、UPDATE、DELETE)时,该操作会被立即提交,...
- **与Oracle比较**:MySQL开源免费,易于移植,有图形界面工具支持,适合小型到中型企业。 - **FLOAT与DOUBLE**:FLOAT存储8位精度,4字节;DOUBLE存储18位精度,8字节。 - **CHAR_LENGTH与LENGTH**:CHAR_...
在Web应用安全方面,除了正确配置数据库连接外,还需关注以下几点: 1. **参数化查询**:使用PreparedStatement来防止SQL注入攻击,避免直接拼接SQL语句。 2. **连接池管理**:通过连接池(如Apache Commons DBCP、...