一. 在sql server下处理需要导出的数据库

  1. 执行以下sql,查出所有'float'类型的字段名,手动将float类型改为decimal(18,4).

select 表名=d.name,字段名=a.name,类型=b.name
FROM syscolumns a
left join systypes b on a.xtype=b.xusertype
inner join sysobjects d on a.id=d.id and d.xtype='U' and d.name<>'dtproperties'
where b.name in ('float')
order by d.name;

  2. 执行以下sql,查出sql server中的字段名在oracle属于内部关键词,并手动修改.

select 表名=d.name,字段名=a.name
FROM syscolumns a
inner join sysobjects d on a.id=d.id and d.xtype='U' and d.name<>'dtproperties'
where a.name in ('NUMBER','LEVEL','ROW','rowNum','rows','mode')
order by a.id,a.colorder

  3. 查询类型为text并且值为空的字段,设置为'-',否则导出时会报错误(该语句查询出一组sql语句),将查询出来的一组sql语句全部拷贝出来并全部执行.

select 'update '+ d.name +' set '+ a.name +'=''-'' where '+ a.name +' like '''''
FROM syscolumns a
left join systypes b on a.xtype=b.xusertype
inner join sysobjects d on a.id=d.id and d.xtype='U' and d.name<>'dtproperties'
where b.name in ('TEXT')
order by d.name

  4. 执行下列存储过程,将所有数据表的列名大写.

/*修改列名大写*/
drop procedure columnNameToUpper
go /*创建存储过程*/
create procedure columnNameToUpper
as
/*声明变量*/
declare @tableName varchar(128),
@columnName varchar(128) /*声明游标*/
declare @cursorVar Cursor
/*给游标赋值*/
set @cursorVar=Cursor For
select obj.name,upper(col.name) from syscolumns col,sysobjects obj
where obj.xtype='U' and obj.id=col.id; /*打开游标*/
Open @cursorVar
/*取一条数据赋给变量*/
Fetch Next From @cursorVar Into @tableName,@columnName
/*声明执行语句变量*/
Declare @executeSql nvarchar(2000) While(@@FETCH_STATUS=0)
Begin
/*获得要执行的SQL语句*/
set @executeSql=N'exec sp_rename '''+@tableName+'.'+@columnName+''','''+@columnName+'''';
/*动态执行存储过程*/
execute sp_executesql @stmt=@executeSql
/*取下一条数据*/
Fetch Next From @cursorVar Into @tableName,@columnName
End
/*关闭游标*/
Close @cursorVar /*释放资源*/
Deallocate @cursorVar
/*返回*/
Return
/*将上一个go到此的存储过程提交数据库执行*/
go /*执行存储过程*/
execute columnNameToUpper

  5. 执行下列存储过程,将所有表名大写.

/*修改表名大写*/
drop procedure tableNameToUpper
go /*创建存储过程*/
create procedure tableNameToUpper
as /*声明变量*/
declare @tableName varchar(128),
@uptableName varchar(128) /*声明游标*/
declare @cursorVar Cursor
/*给游标赋值*/
set @cursorVar=Cursor For
select obj.name,upper(obj.name)
from sysobjects obj
where obj.xtype='U' and name!='dtproperties'; /*打开游标*/
Open @cursorVar
/*取一条数据赋给变量*/
Fetch Next From @cursorVar Into @tableName,@uptableName
/*声明执行语句变量*/
Declare @executeSql nvarchar(2000) While(@@FETCH_STATUS=0)
Begin
/*获得要执行的SQL语句*/
set @executeSql=N'exec sp_rename '''+@tableName+''','''+@uptableName+'''';
/*动态执行存储过程*/
execute sp_executesql @stmt=@executeSql
/*取下一条数据*/
Fetch Next From @cursorVar Into @tableName,@uptableName
End
/*关闭游标*/
Close @cursorVar /*释放资源*/
Deallocate @cursorVar
/*返回*/
Return 0
go /*执行存储过程*/
execute tableNameToUpper

二. 在oracle下以system用户登录进行处理

  1. 创建表空间

create tablespace ST10005(表空间名)
datafile 'D:\oracle\db\ST10005.ora' (数据文件存放地点 D:\oracle\db\文件夹要先存在)
size 500M
default storage
(initial 200m
next 50m
minextents 20
maxextents 500)
online;

  2. 创建用户 (指定默认表空间 和 临时表空间 指定连接状态)

CREATE USER ST10005(用户名) PROFILE DEFAULT IDENTIFIED BY ep(密码) DEFAULT
TABLESPACE ST10005(表空间名) TEMPORARY TABLESPACE TEMP ACCOUNT UNLOCK;

  3. 为用户授权

grant connect,resource,dba to ST10005(用户名);

三. 用sql server 2005自带的导入工具将数据导入到oracle

  1. 在要导出的数据库上点击鼠标右键,选择"任务"》"导出数据"

  2. 依次点击下一步,在"选择数据源"页面填写相应选项

    

  3. 在"选择目标"页,目标栏选择"Oracle Provider for OLE DB",点击属性会弹出个数据链接属性的对话框;如下图

数据源一栏填写的是用PLSQL连接时的database;用户名一栏都要用大写的;同时要选中“允许保存密码”选项。

  4. 接着下一步直到选择源表和源视图,选择要导入的表,注意:一次不能选太多的表,否则会弹出一个警告,

    如弹出了警告,就要少选几个表,如果不弹出警告,就下一步直到完成。

  5. 重复1-4步操作几次,将所有的表都导入进去

四. 导入完成后,还需执行以下几步操作

  1. 检查表的数目是否正确

    a. sql server下执行

select count(*) from  sysobjects obj where obj.xtype='U' and name!='dtproperties';

    b. oracle下执行

select count(*) from user_tables;

  2. 建立视图、主键、外键、索引等

sql server 2005导出数据到oracle的更多相关文章

  1. sql server 2005导出数据

    */ EXEC sp_configure 'show advanced options', 1 GO */     配置选项 'show advanced options' 已从 0 更改为 1.请运 ...

  2. sql server 2005 大数据量插入性能对比

    sql server 2005大数据量的插入操作 第一,写个存储过程,传入参数,存储过程里面是insert操作, 第二,用System.Data.SqlClient.SqlBulkCopy实例方法, ...

  3. 常见SQL Server导入导出数据的几个工具

    摘自:http://www.cnblogs.com/chenxizhang/archive/2011/06/09/2076542.html 在我们的日常工作中,与数据库打交道的机会越来越多.这一篇文章 ...

  4. SQL Server 2005 系统数据介绍:dm_exec_connections

    原文:SQL Server 2005 系统数据介绍:dm_exec_connections 转载:http://msdn.microsoft.com/zh-cn/library/ms181509(SQ ...

  5. SQL Server 2012大数据导入Oracle的解决方案

    在实际工作中需要把SQL Server中的表导入Oracle.之前尝试过直接用SQL Server的DTS进行都没问题.但这次因为数据量在千万级所以报虚拟内存不足.最后通过SQL Server导出tx ...

  6. SQL Server 2008导出数据为SQL脚本的操作步骤

    以前我们要将一个表中的数据导出为脚本,那么只有在网上找一个导出数据的Script,然后运行就可以导出数据脚本了.现在在SQL Server 2008的Management Studio中增加了一个新特 ...

  7. SQL Server 2008 导出数据与导入数据任务介绍

    一. 实例数据库介绍 源数据库Test_Other_DB:存在tb_Class,tb_Student,tb_TestTable三张表. 目标数据库TestDB_Output:空库,不含任何表. 二. ...

  8. SQL Server 2005 导出包含(insert into)数据的SQL脚本 (使用存储过程) 分类: 数据库

    CREATE PROCEDURE dbo.UspOutputData @tablename sysname AS ) ) ) declare @xtype tinyint declare @name ...

  9. SQL SERVER ->> BCP导出数据到平面文件

    --开启xp_cmdshell sp_configure ‘show advanced options’, ; GO RECONFIGURE; GO sp_configure ‘xp_cmdshell ...

随机推荐

  1. windows上安装使用mySql

    一直都使用MSSQL,这两天学习了下Mysql,感觉是这样的--->如果你会MSSQL那么你只需花很少的量时间就能上手MYSQL,如果你会MSSQL,什么MYSQL语法这些对你来说都不是麻烦事了 ...

  2. 第 20 章 CSS3 前缀和 rem

    学习要点: 1.CSS3 前缀 2.长度单位 rem 主讲教师:李炎恢 本章主要探讨 HTML5 中 CSS 在发展中实行标准化的一些问题,重点探讨 CSS3 中新属性前缀问题和新的单位 rem. 一 ...

  3. 第 17 章 CSS 边框与背景[下]

    学习要点: 1.设置背景 主讲教师:李炎恢 本章主要探讨 HTML5 中 CSS 边框和背景,通过边框和背景的样式设置,给元素增加更丰富的外观. 一.设置背景 盒模型的尺寸可以通过两种方式实现可见性, ...

  4. Android填坑系列:在小米系列等机型上放开定位权限后的定位请求弹框

    背景: 近期因实际项目需要,在特定操作下触发定位请求,取到用户位置及附近位置. 问题: 经初步选型,最终决定接入百度定位,按照百度定位SDK Android文档,接入过程相对顺利.但随后发现,在小米系 ...

  5. 通过Google身份验证器加强Linux帐户安全

    下载Google的身份验证模块: # wget https://google-authenticator.googlecode.com/files/libpam-google-authenticato ...

  6. GJM : Unity3D - UI - UI边缘流光特效小技巧 [转载]

    感谢您的阅读.喜欢的.有用的就请大哥大嫂们高抬贵手"推荐一下"吧!你的精神支持是博主强大的写作动力以及转载收藏动力.欢迎转载! 版权声明:本文原创发表于 [请点击连接前往] ,未经 ...

  7. jQuery cxScroll 间歇式无缝滚动

    版本: jQuery v1.7+ jQuery cxScroll v1.2.2 注意事项: 内部会自动创建 prev 及 next 切换按钮,也可以在外部直接创建,若外部已创建或设置prevBtn: ...

  8. Infinite Scroll - jQuery & WP 无限滚动插件

    无限滚动(Infinite Scroll)也称为自动分页.滚动分页和无限分页.常用在图片.文章或其它列表形式的网页中,用来在滚动网页的时候自动加载下一页的内容.Infinite Scroll  这款  ...

  9. Javascript到PHP加密通讯的简单实现

    其实内容主要来源于上一篇博文,只是重新组织了语言,并做了原理性的阐述,更容易理解:P ----------------------------------------- 华丽的分割线 -------- ...

  10. 学习zepto.js(Hello World)

    Zepto是一个轻量级的针对现代高级浏览器的JavaScript库, 它与jquery有着类似的api. 如果你会用jquery,那么你也会用zepto. 昨天听说了zepto.js,正好最近也比较闲 ...