美文网首页SQL Server
通过navicat从sqlserver向oracle导入数据库

通过navicat从sqlserver向oracle导入数据库

作者: sh4wmoo_cheung | 来源:发表于2018-09-05 18:04 被阅读0次

    公司最近接了个项目,开始决定使用sqlserver数据库,但由于项目整合原因换成oracle,sqlserver与oracle有很大的区别,但最要命的事sqlserver表结构已经建好了,能不能把表结构直接从sqlserver导入到oracle中去呢?

    1.尝试使用sqlserver managerment studio导出

    由于平常用sqlserver比较多,惯性思维的给自己一个心理暗示,我能从sqlserver导出(其实并不能…)用了很多方式,结果都是一样报了一个这样的错误

    错误信息

    通过搜索引擎发现问题是因为oracle的环境变量问题,我个人平常通过navicat这个可视化工具来使用oracle发现了一个问题,那就是navicat集成了一个迷你oracle客户端,通过该迷你客户端的oci.dll访问oracle数据库,而不是oracle数据库本身的的oci.dll

    navicat访问oracle的启动方式

    这是navicatd oci.dll的依赖路径E:\javaSoftware\Navicat for Oracle\instantclient_10_2\oci.dll

    而环境变量里oracle自带的依赖路径的则是 E:\oraclexe\app\oracle\product\11.2.0\server\bin

    oracle自身的启动方式

    sqlserver的导出是根据oracle现有的依赖去访问oracle,也就是环境变量中的依赖,这与navicat访问方式有所不同,其中涉及oracle32位和64位客户端启动方式的问题,我并没有深究(原谅我没时间…项目太急)

    2.尝试使用navicat导入

    我抽了颗烟冷静了一下,emm…如果从sqlserver导出不行,那么换一种方式,你不送货上门,我去自提呢?也就是说从navicat访问sqlserver来进行数据导入?事实证明,换一种思维,一切问题迎刃而解。不仅完美支持,而且navicat自动转换oracle与sqlserver有所差异的sql类型,省去了我不少时间。以下是导入的操作流程:

    针对某一个表空间进行导入 选择ODBC 选择源数据库 测试连接sqlserver 选择要导入的表 确认表的数量 这一步navicat会自动转换sql类型 成功!

    相关文章

      网友评论

        本文标题:通过navicat从sqlserver向oracle导入数据库

        本文链接:https://www.haomeiwen.com/subject/vuzawftx.html