现在有个项目里,希望能够从不同的数据库中取数据,这些数据库不是局域网环境,是互联网环境。该用什么技术呢,最好提供下基本思路,谢谢了。

解决方案 »

  1.   

    一般就是数据库连接池了,DBCP。要配置文件里配置数据源。
      

  2.   

    哈哈 不太熟 不过我知道Java已经为你写好了JDBC的API,来应对不同的数据库运行商的要求。
    例如oracle 只要导入一个oracle驱动包,在写一个配置文件,把什么driver,url,数据库账户名子和密码搞好连上就OK 了。
      

  3.   


    只要网络是通的和协议是被允许的(如果存在网络阻塞问题,可以通过写中间跳转方式来完成,如:VIP等);需要注意以下几点:
    1、就是要看对方是否愿意为你开放数据,如果对方没有给你开放数据,你是得不到的,除非你是黑客,呵呵,因为这样数据就不安全了,数据也一般不会对互联网级别开放,即使开放也是间接开放并且携带很多来源认证和token认证信息才可以被访问;2、在数据库层面,如果是互联网应用应当支持更多种类、更多不同版本的数据库需要进行考虑,我先你的目标数据库应该不仅仅是Oracle吧,有可能是MySQL、有可能是SQL SERVER、有可能是sybase等等,甚至于有可能是各种各样的nosql产品(如果要考虑nosql就太多了),而且即使是同一种数据库、同一个版本,对方的数据库,也未必是单库的,对于大型互联网的后台数据库,都是将数据进行了各种切割的,不会将同类数据放在一个库的一个表中的(我是指传统软件建立的一个表,在互联网的后台数据库可能会被切割存放到N多个库的N多个表中,这样你还需要得到这种分解的规则才可以得到你想要的数据)。所以要做到比较好的效果需要单独开放接口模式,最好是较为统一的接口模式(不过完全通用不太可能,因为互联网技术太多了),也就是对方愿意为你提供接口方,通过程序方式为你提供接口调用(前提也是要网络可以通,不过这些协议上要稍微要求低一点,一般你的接口只要不是很过分,一般只要支持http协议就可以了),你需要谁的数据,你就叫他给你提供接口,只要对方统一,你无须关心对方的数据库是什么类型、什么版本、是否是RDBMS还是NOSQL、是否是分布式存储、甚至于不用关心字符集(字符集可统一定制)。好了,感觉说了跟没说一个样,其实也不是很清楚你的题目的细节描述,我也是从个人理解来回答这个问题。
      

  4.   

    用hibernate,可以配置多个数据源