sql如何转oracle sql如何转换数据类型

sql数据怎么转到ORACLE里

可以参考如下解决方法:

成都创新互联专业为企业提供宿州网站建设、宿州做网站、宿州网站设计、宿州网站制作等企业网站建设、网页设计与制作、宿州企业网站模板建站服务,十多年宿州做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

1 利用某个工具将数据导出成txt文件(里面的内容类似 inset into table values();形式) 。

这个步骤也有讲究。有两个方案:

1) 直接从这个大表中一个id一个id的导出数据。

2)先采取 create table t_idname as select * from souce_table where id=1;的形式建立15000个id表。然后直接一个表一个表的导出数据。优点是:导出的时候速度快,目标清晰,出错了容易处理。缺点:前期准备工作很多。得考虑磁盘空间等。

2 导出文件的处理。因为sqlserver和oracle的一些数据类型不同,一些关键字也不同。需要对导出文件进行处理。(如果导出工具支持的话,可以直接在导出工具中设置进行处理,兼并到第一步中去)

3 导入。没什么好说的,采用oracle的sqlload工具即可。

另外还可以在sql server里建立dblink,连oracle

然后,就在sql server方,用sql把数据转到dblink连着的数据库里。

SQL语句怎么转成ORACLE语句?

--定义参数

v_ids varchar(4000);

--列转行并将值写入参数

select to_char(wm_concat (MyColumn1)) into v_ids from MyTable;

如何从SQL Server迁移大批量数据到Oracle

首先将SQLServer数据导出成txt格式文本此方法略,不会的去网上查资料,网上很多相关资料。

下面要说的是如何将txt文本数据导入到Oracle中,Dos 环境下使用SQl*Loader命令 加载。

使用其它数据库的数据转移工具,Oracle 企业管理器中的数据加载功能。

具体的技术实现

一、Dos 环境下加载

1、首先,服务器端的侦听服务必须已经开启。

测试方法:Dos 下输入

C:/sqlplus username/password@serviceName

2、然后使用 Oracle 的 sqlldr 命令进行数据的导入

前期条件

1) Oracle 数据库端必须已经建好了需要导入的数据表的结构

2) 一个数据源文件 下面例子中为制表符分隔的文本文件 model.txt ,为Excel 表中导出的

3) 手工编辑一个XXX.CTL 的控制文件

4) 命令行加载数据

如下实例:

以下文件缺省放到C:/ 下,如果不是,就需要指明全路径

1. 命令控制文件 input.ctl 内容

命令

说明

load data

1、控制文件标识

infile 'model.txt'

2、要输入的数据文件名为test.txt

append into table system.塔位属性表

3、向表test中追加记录

fields terminated by X'09'

4、指定分隔符,字段终止于X'09',是一个制表符(TAB)

(编号,名称,大小)

5、定义列对应表中顺序

控制文件中指定插入数据的方式关键字

insert,为缺省方式,在数据装载开始时要求表为空

append,在表中追加新记录

replace,删除旧记录,替换成新装载的记录

truncate,同上

在 Dos 窗口下使用 SQl*Loader 命令实现数据的导入

C:/sqlldr userid=system/manager@ serviceName control=input.ctl

默认日志文件名为:input.log

默认坏记录文件为:input.bad

二、使用其它数据库转移工具

以下以SQL Server 导入导出向导为例

1、在数据的导入导出向导中设置数据源服务器,实例中选择数据源选择SQL Server

2、然后指定要导入的Oracle 数据源

3、需要配置Oracle 的属性信息

需要注意的是,登录数据库的用户信息即为数据导入之后的方案名,即导入之后的SQL Server 中的表在Oracle 中标志名为 username.表名

以下按照提示即可,可以完全导入SQl Server 中的数据表和视图,也可以使用查询语句返回你要选择的列或者行。

三、Oracle 企业管理器中的数据加载功能

登录Oracle 的控制台界面,针对单独的数据表可以使用数据加载工具

中间需要指定控制文件等,同Dos 加载一致,不再重复

怎么把sql文件导入oracle中?

你如果用SQLloader导外部数据:

1、你的SQL文件应该是指数据文件,可以是用分隔符或者定长区别字段的数据;

2、你必须先在ORACLE中创建你要导入的目标表chinaMap;

3、你在控制文件中必须定义好chinaMap和导入数据文件字段对于的chinaMap字段,数据文件字段顺序必须和你在控制文件中定义chinaMap字段顺序一致。

4、SQLloader和数据库的链接是走sqlnet定义的服务名的,只要你sqlplus可以访问数据库就可以。

如何把sqlserver2005数据库转换为oracle数据库

步骤如下:

打开Sqlserver,如图选中目标数据库,右键-任务-导入数据

选择”导入数据”菜单,会出现向导,点击下一步,出现如图所示界面

这里要说明下,最好选择”MicroSoft OLE DB Provider for Oracle方式,选择另外一种方式导入数据时会报错.

输入服务器名称和用户密码,测试成功后,一定要勾选”允许保存密码”,此步骤就是选择目标数据库,如图

导入数据有两种方式,一种方式是可视化选择Db表或视图;另一种方式是通过sql语句实现,一般批量导入选择第一种方式

此步骤就是选择我们需要导入的Db对象,如图所示

如何把sql server数据库迁移到oracle

前阵做了下数据库迁移,从Sql Server2005迁移到Oracle

10g,这里说一下迁移的方法。

Sql

Server和Oracle区别比较大,包括语法,字段类型,数据库机制,配置管理方法等等,区别是全方位的,做迁移需要注意很多问题,在迁移过程中也会遇到问题,需要细细处理之。这里说一下数据库结构的迁移,和迁移过程中注意的一些问题。(当然具体的数据库迁移过程中可能问题是不一样的,具体问题具体分析了)

迁移的方法是从Sql Server已有数据库中生成出Oracle的建库脚本,然后在Oracle数据库上执行。用到的生成工具是Power

Designer。

1、打开PD(Power

Designer简称,以下均使用PD),新建一个PDM(物理数据模型),DBMS选择Microsoft SQL

Server2005,Model name起名叫做mssdb。

2、通过逆向工程将现有Sql

Server数据库生成PDM

(1)选择Database-Reverse

Engineer Database,配置数据源,选择要迁移的数据库,输入用户名、密码。

(2)选择数据库,选择用户dbo下的所有表、视图、存储过程、方法、触发器、序列等(由于Sql Server与oracle,数据库概念上的区别,这里不需选择用户、角色)。

点击OK,生成PDM。已经建立过PDM的情况,这一步可以省略。

3、生成Oracle物理数据模型

选择Tools-Generate Physical Data Model

(1)DBMS选择Oracle

10g,输入名称:oradb。

(2)在Configure Model

Options配置中, Model Settings的TableView界面中,勾选Ignore

identifying owner。Oracle中用户的概念与Sql Server不同,这里忽略owner。

(3)Selection标签,选择需要生成的所有表、视图、外键、存储过程、方法、触发器、序列等。

点击确定,即生成了oracle 的PDM。

注意,在生成PDM的过程中可能不会一帆风顺,有可能会报错(比如提示对象长度超限),这会导致生成失败。这时需要根据具体错误提示做相应修改(可能需要多次调整,没有办法,谁让两者差别这么大的呢)。

4、生成Oracle脚本

与Sql

Server不同的是,在Oracle里表名、字段名全部为大写,若要单独处理为小写,需加上双引号。而PD生成的脚本默认是有双引号的,这里需要修改默认配置,去掉双引号。

然后选择oradb,然后选择Database-Generate

Database,进入数据库生成界面

在Format标签下,去掉勾选Owner prefix,它将省掉建表语句前“dbo.”所带来的麻烦;

在Selection标签下,选择要生成脚本的各对象;

在Preview标签下,可以预览预生成的脚本(表较多时,切换会比较慢)。

点击确定,即得到生成的脚本。

5、检查与调整

脚本是PD自动生成的,因为表比较多,在oracle上直接去执行难免会有错误。所以在执行之前需要检查下脚本的正确性。这里提几点需要注意的地方。

(1)Oracle要求表名、字段名等长度最多是30位,而Sql Server没有这个限制,所以可能会有在Sql

Server创建正常的表而在Oracle下会创建失败。

(2)检查一下主键、外键的名称,它们有可能是随机生成的名称。可根据相应规范进行修改。

(3)检查字段名是否用到了Oracle的关键字。比如Sql

Server命名“备注”字段可能会用“comment”、标题用“title”,但comment、title在Oracle中是关键字,不可以做为字段名称。

(4)存储过程、方法是否符合Oracle语法。

(5)Sql

Server有自增字段,而Oracle没有。要实现此功能,需要相应创建序列、触发器。

(6)Sql

Server中字段类型为text的情况,如果是存二进制数据需要在Oracle中选用Blob字段类型。

(7)Sql

Server有外键的情况,主表记录删除,从表记录也会跟着删除;而Oracle默认情况是当从表有记录时,所对应的主表记录不允许删除。所以这种情况下外键需要添加外键级联删除。

(8)生成的表、视图等个数是否正确,缺失的情况可单独生成脚本。

系统不一样,出现问题的点可能也不一样,具体问题具体分析。

6、建库

在Oracle数据库服务(当然要先安装好Oracle服务端、并建立数据库)orcl实例下,使用用户sys登陆并创建用户orauser,并将resource、connect角色赋给orauser(这里,orauser使用默认表空间、默认临时表空间)。

用刚创建的用户orauser登陆orcl数据库服务,执行前面已经生成的脚本,若干分钟后脚本执行完毕,观察一下执行过程中有无错误产生,也可以记录执行的日志以便日后查看;检查看表、视图等个数与Sql

Server数据库中是否一致。如果都正确,那么,数据库结构从Sql

Server到Oracle的迁移到此结束。当然,迁移的是否正确还需要在之后的使用中检查,发现错误及时修改即可。


分享标题:sql如何转oracle sql如何转换数据类型
本文来源:http://cdiso.cn/article/hihigh.html

其他资讯