欢迎光临
我们一直在努力

oracle8i转换数据到sql server_数据库技巧

建站超值云服务器,限时71元/月

       最近做一个项目的DOTNET版,说是升级,从ASP升为DOTNET,可因为项目架构原因,数据库得从ORACLE转为SQL SERVER…^_|| ,之前未使用过ORACLE,转换数据过程中碰到了不小的麻烦。


        这中间过程之痛苦不再赘述,直接讲我导数据流程及遇到的问题.如有讲错的地方,请大家指教~~


          一、前提: 因为我是从ORACLE数据库服务器导出到目的机器,所以首先在目的机器上安装ORACLE同一版本的客户端,这样做是为了在用MSSQL导入数据时能选择ORACLE数据源。接下来我做的这个动作不知是否是必须的:ORACLE程序菜单中->net manage增加一个服务命名,填入源机器所在ORACLE库服务名,主机名。


        二、在目的机器上安装了PL/SQL Devloper 7 ,填入登录源数据库的用户名,密码,选择数据库,登入OK,这步主要查看ORACLE数据库,为了知道哪些表或其它元素需要导出,并作参考。


        三、具体工作来了。。
            (1)表:如果只需要导出表结构,用PL/SQL Devloper –>Tools –>Export Tables,选择表,填入文件名,导出。
            存储过程,视图,函数:用PL/SQL Devloper –>Tools –>Export User Objects ,选择对象,填入文件名导出。
            (2)以上SQL文件导完,因PLSQL和SQL的些许不同,花了点心思把它们改成SQLSERVER上可以执行的语句,在MSSQL的查询分析器中执行生成。
            (3)导出表结构及数据:在目的机器上数据源管理器中新建一个系统DSN或文件DSN,选择ORACLE ODBC DRIVER ,数据源名称和说明随便填,服务名及用户ID填ORACLE源数据库相应的服务名。 然后运行MSSQL ->导入导出工具->选择源数据中选择”其它(ODBC数据源)”,选择刚才建的系统DSN或文件DSN,填入登录ORACLE库的用户名,密码,进入;接下来的选择目标源动作就和MSSQL自己的导入数据操作是一样了。。。导完之后,记得更改相应的字段类型,默认值等等。。


ORACLE到SQLSERVER需要注意的有:
(1)表中字段类型的变化,number 变为float,varchar2变为varchar;
(2)ORACLE中没有设置自增字段,有需要用到时,它是在sequence中建一个sequence,所以得查找ORACLE表中是否有这种对应,从而在MSSQL中设置自增字段。
(3)在导出表结构及数据中碰到了个问题:选择数据源时,我选中了系统DSN,填入用户名密码,点下一步时,弹出了个错误窗口,提示:oci.dll找不到指定的模块,点确定后提示用户名密码错误。。。上网搜索了N久,才找出解决方法:(1)ORACLE9i以上.Net Manager->本地->概要文件->ORACLE高级安全性->验证->去掉NTS这一项(因为我使用的是ORACLE8I所以没试过这方法,但网上作者说可以);(2) 在ORACLE安装目录下搜索到Sqlnet.ora文件,加入一行: sqlnet.authentication-services=(none)保存,重启机器,再试下从MSSQL导入导出工具连接源机器,OK。


至此,ORACLE转MSSQL的工作大部分就完成了。。希望对大家有点帮助,欢迎回贴指点错误及另好的方法。^_^


http://flyskywlh.cnblogs.com/archive/2006/07/07/445443.html

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » oracle8i转换数据到sql server_数据库技巧
分享到: 更多 (0)