怎么把数据库数据怎么转换 ORACLE8I转换数据到SQLSERVER数据库
ORACLE8I转换数据到SQLSERVER数据库
最近做一个项目的DOTNET版 说是升级 从ASP升为DOTNET 可因为项目架构原因 数据库得从ORACLE转为SQL SERVER ^_|| 之前未使用过ORACLE 转换数据过程中碰到了不小的麻烦
这中间过程之痛苦不再赘述 直接讲我导数据流程及遇到的问题 如有讲错的地方 请大家指教~~
一 前提 因为我是从ORACLE数据库服务器导出到目的机器 所以首先在目的机器上安装ORACLE同一版本的客户端 这样做是为了在用MSSQL导入数据时能选择ORACLE数据源 接下来我做的这个动作不知是否是必须的 ORACLE程序菜单中 >net manage增加一个服务命名 填入源机器所在ORACLE库服务名 主机名
二 在目的机器上安装了PL/SQL Devloper 填入登录源数据库的用户名 密码 选择数据库 登入OK 这步主要查看ORACLE数据库 为了知道哪些表或其它元素需要导出 并作参考
三 具体工作来了
( )表 如果只需要导出表结构 用PL/SQL Devloper >Tools >Export Tables 选择表 填入文件名 导出
存储过程 视图 函数 用PL/SQL Devloper >Tools >Export User Objects 选择对象 填入文件名导出
( )以上SQL文件导完 因PLSQL和SQL的些许不同 花了点心思把它们改成SQLSERVER上可以执行的语句 在MSSQL的查询分析器中执行生成
( )导出表结构及数据 在目的机器上数据源管理器中新建一个系统DSN或文件DSN 选择ORACLE ODBC DRIVER 数据源名称和说明随便填 服务名及用户ID填ORACLE源数据库相应的服务名 然后运行MSSQL >导入导出工具 >选择源数据中选择 其它(ODBC数据源) 选择刚才建的系统DSN或文件DSN 填入登录ORACLE库的用户名 密码 进入 接下来的选择目标源动作就和MSSQL自己的导入数据操作是一样了 导完之后 记得更改相应的字段类型 默认值等等
ORACLE到SQLSERVER需要注意的有
( )表中字段类型的变化 number 变为float varchar 变为varchar
( )ORACLE中没有设置自增字段 有需要用到时 它是在sequence中建一个sequence 所以得查找ORACLE表中是否有这种对应 从而在MSSQL中设置自增字段
( )在导出表结构及数据中碰到了个问题 选择数据源时 我选中了系统DSN 填入用户名密码 点下一步时 弹出了个错误窗口 提示 oci dll找不到指定的模块 点确定后提示用户名密码错误 上网搜索了N久 才找出解决方法 ( )ORACLE i以上 Net Manager >本地 >概要文件 >ORACLE高级安全性 >验证 >去掉NTS这一项(因为我使用的是ORACLE I所以没试过这方法 但网上作者说可以) ( ) 在ORACLE安装目录下搜索到Sqlnet ora文件 加入一行: sqlnet authentication services=(none)保存 重启机器 再试下从MSSQL导入导出工具连接源机器 OK

lishixinzhi/Article/program/Oracle/201311/17519