网络带宽1M,上行512K
以前是SQLSERVER数据库到SQLSERVER数据库,一般导数据需要5分钟
现修改为SQLSERVER2000数据库到ORACLE数据库,同样的数据需要20-30分钟
我的客户端有几十个,升级后每个速度都慢了5倍左右。
有经验的朋友给出个点子,为什么?感恩不尽。

解决方案 »

  1.   

    每秒钟插入5-10条记录???????????????????????????????????????????????????????
    你先ping一下服务器,看看time多少,如果time很大就看看网络是否有问题.
    如果网络没问题,就用客户端tnsping一下oracle服务器,看看响应时间是否正常,有没问题,如果第一个没问题这个有问题就是你oracle监听配的有问题.
    如果这两个都没问题,那基本上就是你的oracle服务器架的有问题
      

  2.   

    网络不好,ping偶尔会丢包,一般时间在100MS左右
    但传输文件也不会这样慢呀我测试的结果
    DTS:SQL-SQL 1分钟
    DTS:SQL-ORA  12分钟,相差12倍
    直接连上ORACLE数据库写Insert into语句,需要4分钟
    看来DTS给ORACLE传数据真不好用,比SQL到SQL差一个数量级。
    哪个兄弟还有好办法呀
      

  3.   

    遇到相同的問題.
    而且如果你的資料量比較大時,會出現更爆冷的問題.
    一次傳輸成功以後,必須要TRUNCATE TABLE (ORACLE的TABLE)然後才能再次使用DTS撈取數據,否則,會報:The failing rows exceed the maximum specified..類似這樣的錯誤的.
    我快要痛苦死了.不知道還有什麼其他的辦法可以Transfer Data麼?
      

  4.   

    如果你的問題只是慢的話,可以通過設置INDEX,使用HINT來解決了啦.
    如果你的量也比較大的話,你就慘了.還是尋找一下Oracle是否有更好的數據轉換工具吧.
    貌似有一個,但是好像不能從SQL 倒到 Oracle的,叫什麼名字不記得了,你去Oracle的網站查一下吧.
      

  5.   

    我实是没有办法,然后就通过传XML来解决了
    用ADO的ClientDataSet将XML读入,然后再插入到ORACLE数据库中
    这样效率也不高,数据量越大就越慢