SQL Server导出导入数据方法(二)
三、SQL Server存储过程或用户定义的函数导出导入
1、导出存储过程或用户定义的函数成*.sql文件
在SQL Server企业管理器里选中源数据库, 存储过程->单选或者多选中要转移的存储过程-> 用户定义的函数->单选或者多选中要转移的函数-> 按鼠标右键,选所有任务->生成SQL脚本->确定->在自己的电脑硬盘中生成一个自定义的*.sql文件-> 保存->正在生成SQL脚本->成功
2、如果目的数据库经过防火墙,不在同一个局域网里, 要通过FTP或者remote desktop或者pcanywhere等方法把第1步生成的*.sql文件传到目的SQL Server数据库服务器上。
3、用查询分析器进入SQL Server目的数据库, 从菜单里选文件->打开->打开查询文件->选中第1步生成的*.sql文件->点执行查询的绿色倒三角型快捷键-> 查询窗口里会出现执行后的消息(有时候可能因为存储过程和用户定义的函数之间有一定的依赖关系,会报一些错, 最好先执行用户定义的函数的*.sql文件,再执行存储过程的*.sql文件)
四、ORACLE数据库里表导入SQL Server数据库
1、在目的SQL Server数据库服务器上安装ORACLE Client软件或者ORACLE ODBC Driver.
在$ORACLE_HOME\network\admin\tnsnames.ora里配置ORACLE数据库的别名(service name)。
2、在WIN2000或者win2003服务器->管理工具->数据源(ODBC)-> 系统DSN(本机器上NT域用户都可以用)->添加->ORACLE ODBC Driver->完成-> data source name 可以自定义,我一般填ORACLE数据库的sid标志,description里可以填ORACLE数据库详细描述,也可以不填-> data source service name 填第1步定义的ORACLE数据库别名->OK。
(用户DSN和文件DSN也可以类似配置,但使用的时候有一些限制)
3、SQL Server的导入和导出数据工具里->选数据源-> 数据源(其它(ODBC数据源))-> 选第2步在ODBC里定义的系统DSN source name,用户名密码处填写ORACLE系统的用户名和密码-> 下一步->选择目的,选SQL Server数据库(跟上面第二点讲的一致,就不重复了)。
注意:在ORACLE表和SQL Server表之间转换那步很重要, 可以改变默认的字段数据类型,如image->text,decimal->int
五、SQL Server数据库里表导入ORACLE数据库
方法一.导出目的选通过ODBC数据源里定义的ORACLE数据库, 注意ORACLE里表名都是大写的.
我一般在ORACLE这边先生成好表结构,再选择SQL SERVER源表往ORACLE目的表里追加数据.
数据传输速度比方法二慢.
方法二.从SQL Server数据库导入数据到ORACLE数据库可以选择用Windows下ORACLE9i企业或者个人版数据库做中转