本帖最后由 wymaweiyue 于 2011-02-11 10:59:24 编辑

解决方案 »

  1.   

    LZ  程序要大胆的去猜测,敢于尝试, 你不知道会不会,那你就要试一下才知道啊。用程序实现的话,那就是  先读取A表中的字段、数据,然后通过程序创建表 或者直接插入数据到另外一台电脑的数据库中,这只是其中一种解决办法,还有很多,你可以自己想象然后大胆尝试。希望对你有帮助
      

  2.   

    你可以先在另一台数据库中建立个临时表字段是你过滤后的表的字段 然后在第一个数据库的数据转换服务里 建立个包 分别建立2个sqlserver连接  一个是源数据库 一个是目的数据库 建立连接后 在转换任务属性里把 连接里选择根据sql查询进行连接 最后执行这个包就可以了
      

  3.   

        楼上误解我的意思了,并不是过滤表字段,而是过滤表中的数据。例如表中存有人员信息,有A部门的人,还有B部门的人,我只需要将A部门的人员信息传到另一台数据库中即可。    后面提到的数据转换服务这个东西第一次听到,我去找资料看看,感谢楼上的建议。
      

  4.   

    oracle可以建立一个数据库链然后再执行create or replace procedure pushdata
    is
    cursor business is select * from table1@datalink;
    begin
    for m in business  loop  insert into   table2
      (col1, col2)
      values(m.col1,m.col2);
      end loop;
      commit;
    end pushdata;或者直接
    insert into   table2  select * from table1@datalink
      

  5.   


    就是把你需要的数据查询出来 导入到另一个数据库中么 在2000里是dts  2005里可能需要安装其他的插件
      

  6.   

    这不是 webservice 吗?webservice 可以轻松实现这个功能
      

  7.   

    感谢上面各位的提点,我目前是写了一个java代码来做这个事情。先做个尝试。
      

  8.   

    我用java写了一个程序,每隔5秒钟从A数据库上传一次数据到B数据库。办法很笨,先从A数据库将数据拿出来放到内存中,再存入B数据库。问题是取出来的数据过多的时候内存溢出了。各位大侠有没有更好一点的办法?
      

  9.   

        这两天忙了点其他事情。上面的问题我用了最笨的办法解决了。就是写java程序,从A数据库取数据出来,然后插入到B数据库中。
        java连接两个数据库时总是只能连接到一个,上网找了好久,终于找到了一个解释:java在封装sql包时进行了同步,而真正的各个厂家jdbc api是没有同步过的,跳过java的封装就可以使用。最后使用如下的代码成功连接两个数据库:
        SQLServerDriver drv = new SQLServerDriver();
        Properties p = new Properties();    // 数据库连接1
        String sUrl = DB_URL_1+";user="+DB_USERNAME_1+";password="+DB_PASSWORD_1+";";
        Connection dbConn1 = drv.connect(sUrl, p);

        // 数据库连接2
        String sUr2 = DB_URL_2+";user="+DB_USERNAME_2+";password="+DB_PASSWORD_2+";";
        Connection dbConn2 = drv.connect(sUr2, p);    之后限制了每次上传数据的最大数量,也没有内存溢出的问题了。    刚开始把问题想的很复杂,真正动手做了,发现其实也不难,很快也就搞定了。同时也非常感谢上面的各位大侠给予的建议。