`

数据库迁移到sybase时的Sql脚本修改

阅读更多

去掉drop语句后的cascade constraints
比如:drop table tbl1 cascade constraints;

改为:drop table tbl1;

去掉语句之间的分号
Sybase不允许Sql语句以分号结束。比如:




长整型由number(19)改为numeric(19,0);varchar2改为varchar
用到序列号的主键加上identity关键字,并且字段的数据类型只能是标度为0的numeric。当作为某表的外键时,字段类型要一致
比如:

短整型的主键:q_id       numeric(5,0)    identity   not null,

整型的主键:w_id         numeric(10,0)    identity       not null,

长整型的主键:e_id        numeric(19,0)    identity       not null,

一定要表明字段是否为null
允许为空的字段一定要写null,否则默认该字段不为空。

比如:w_type             VARCHAR(40)      default -1      null,

INSERT语句所有表名和字段名都按建表时的名称写,区分大小写。不要给标志为identity 的主键赋值,sybase会自动从1开始按顺序增1



修改hbm
Hbm文件里有个schema="public",改成schema="用户名"

修改java中的sql语句
1) top10的语句

在oracle中可以使用:

select * from (select * from   tble order by tt_id desc) where rownum<=10

   得到tble 表中id最大的10条记录

在sybase中改成:

set rowcount 10 select * from tble order by model_id desc

2) 四舍五入的函数

Trunc由round(返回指定数字舍入到给定的小数位数后所得的值)替代。参考下面的资料:


3)






还有:

1. 关于自增长id的问题,如果需要手动插入部分初始数据,那么应该在先将identiy_insert 设为on

    set insert_identity   tblname on

    而且一个session中只能有一个表是设为on的,如果有多个表,还得off 掉当前,再打开其它的.

2.    sybase的命令终结符是go,所以在一定数量的语句后最好加一个go

3.   用到SET ROWCOUNT(类似top 10)的注意了,这个命令马上生效并且影响当前会话,也就是同一个会话中SET ROWCOUNT会影响所有查询语句,解决方法:在该条语句后加SET ROWCOUNT 0移除这个限制

SET ROWCOUNT 10

select * from fnms_param_infor

SET ROWCOUNT 0


4. 调整字符集

      (1) 调整服务器字符集
所有的Server要求nocase 的utf8,请按如下方式完成:
在config server当中选择language>default character/sort然后保存,重启服务.可能不会成功,不过重起机器就可以了.
(2 )调整客户端字符集
客户端的character改为cp936

分享到:
评论

相关推荐

    Sybase数据库迁移到Oracle-11g手册【中文版】.docx

    概述、先决条件、创建mwrep用户、创建迁移存储库、捕获Sybase导出文件、检查兑换首选项、转换到甲骨文模型、解决存储过程转换失败、解决存储过程转换限制、生成并执行脚本以创建Oracle数据库对象、检查脱机数据移动...

    sybaseiq数据库迁移实例.pdf

    Sybase IQ 数据库迁移实例是指在数据中心项目开发、实施和维护过程中,Sybase IQ 数据库需要迁移到新的环境中,以满足业务需求。数据库迁移是一个复杂的过程,需要对数据库的结构、数据、触发器、存储过程等进行导出...

    oracle项目--DataBase Migration(数据库迁移)PPT

    Oracle数据库迁移项目是IT行业中常见的任务,涉及到将数据和结构从一个数据库系统迁移到另一个,例如从SQL Server迁移到Oracle。以下是对四种数据库迁移方案的详细说明: **方案一**: 此方案主要依赖于手动操作和...

    sybase导出建表SQL工具

    建表SQL在Sybase环境中非常重要,因为它们允许管理员和开发者创建、修改或复制数据库架构。 描述中提到,用户可以通过输入Sybase本地客户端上的服务名来连接数据库。服务名通常是指数据库服务器的标识,用于定位...

    Sybase SQL Anywhere5.0

    **Sybase SQL Anywhere 5.0:移动数据库解决方案** Sybase SQL Anywhere,由全球知名数据库技术提供商Sybase公司研发,是一款强大的轻量级数据库管理系统,尤其适用于嵌入式系统、移动设备以及分布式环境。SQL ...

    MySQL向Sybase ASE迁移指南

    这一步骤涉及到数据库对象(如表、视图、存储过程)以及SQL应用代码的转换。 ##### 6.4 验证数据迁移 迁移完成后,必须进行全面的数据验证,确保数据的完整性和一致性。 #### 七、客户端数据库应用迁移 针对不同...

    sqlServer 导入sybase工具C#写的

    这个过程通常涉及数据迁移或集成,可能是因为业务需求或者系统升级,需要将原有的Sybase数据库的数据转移到SQL Server环境中。 Sybase是一种关系型数据库管理系统,而SQL Server同样如此,两者在数据结构和查询语言...

    sybase数据迁移

    最后,生成IQ数据库相关的SQL脚本,使用这些脚本来创建新的数据库架构。 2. **其他迁移方式** 除了PowerDesigner之外,还有其他方法可以实现SybaseIQ的数据迁移,比如`insert location`和IQ ETL。`insert ...

    Sybase IQ 迁移快速指导手册

    Sybase IQ迁移快速指导手册主要面向从Oracle数据库迁移到Sybase IQ数据库的场景,提供了一系列的迁移步骤和指导方案。以下将详细介绍各个步骤中涉及的关键知识点。 1. 数据迁移概述: 数据迁移通常是因为业务发展...

    SqlDbx 数据库连接工具 可连接多个数据库

    4. **数据库设计**:对于需要进行数据库设计的用户,SqlDbx提供数据库建模工具,支持创建和修改表结构,定义约束,以及生成数据库脚本。 5. **性能分析**:通过执行计划分析,SqlDbx可以帮助用户优化SQL查询性能,...

    Sybase数据转成SqlServer数据库的步骤.pdf

    转换 Sybase 数据至 SQL Server 数据库是一个复杂的过程,涉及到多个步骤和注意事项。以下是对这个过程的详细解释: 首先,**前期准备**是整个转换过程的关键部分。为了保证数据的完整性和一致性,你需要在 SQL ...

    ASE 数据库迁移方案2

    总结来说,ASE数据库迁移涉及到多种策略,从简单的`dump/load`命令到复杂的图形界面工具和批处理脚本。选择哪种方案取决于实际环境和需求,如操作系统兼容性、数据库版本、数据量以及操作人员的技能水平。在实施迁移...

    sybase库中导出全部表的oracle、mysql和sybase的建表语句

    在IT行业中,数据库管理是至关重要的任务之一,尤其是在涉及到数据迁移、系统集成或者数据库审计时。本主题聚焦于从Sybase数据库中导出全部表的建表语句,并转换为Oracle、MySQL和Sybase自身的格式。这样的操作对于...

    SYBASE SQL Server与MS SQL Server的互操作性.pdf

    此外,还可以利用数据库的互操作特性,如SQL语法的兼容性,来编写兼容两种系统的SQL脚本。例如,使用标准的SQL语法进行数据查询和更新,减少依赖于特定数据库系统的特有功能。同时,利用数据迁移工具,可以在两个...

    移植SQLServer数据库到Oracle借鉴.pdf

    6. **兼容性问题**:注意SQL Server和Oracle之间的语法差异,可能需要对SQL脚本进行修改以适应Oracle的语法。此外,某些SQL Server特性的等效功能在Oracle中可能不同,需要额外的适配工作。 7. **性能优化**:迁移...

    Oracle项目-数据迁移.ppt

    Oracle 数据迁移是一个复杂的过程,涉及将数据从一个数据库系统迁移到另一个数据库系统,例如从 SQL Server 迁移到 Oracle。在本案例中,我们探讨了四种不同的Oracle数据迁移方案,每种都有其特定的方法和工具。 **...

Global site tag (gtag.js) - Google Analytics