求助,怎样同时支持两个数据库?

from_null 2010-04-18 06:15:22
正在做的一个项目,由于分级部署,要求同时支持oracle和sqlserver两个数据库。
初步设想是写两个jdbc.properties文件,分别是oracle和sqlserver的连接参数。当服务启动的时候,判断数据库是哪个,然后读取相应的jdbc.properties文件。如何判断数据库也还没有想法。
以上只是个初步的设想,还不知道可行不可行。
如果有哪位朋友有过过一个系统同时支持两个数据库的经验,请说下思路。如果有代码参考更好。
感谢~~~~~~~~~~~~~~
...全文
109 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
from_null 2010-04-19
  • 打赏
  • 举报
回复
可恶,自己回复的帖子都不让编辑。
上午刚问了下需求,可以允许在用户安装系统的时候选择一下所用的数据库。这样就不用自动判断是哪个数据库了。
楼上的方法应该可以了,感谢。
from_null 2010-04-19
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 huangqibing0626 的回复:]
建立一个配置文件,jdbc.properties,包含以下内容:
jdbcType=0;#你要使用的数据库类型
#SQL Server 数据库连接信息
#SQL Server 驱动程序
SQLDriver=net.sourceforge.jtds.jdbc.Driver
#SQL Server 数据库连接字符串
#DreamTimeNews 为数据库名,user 为登录用户名,pass……
[/Quote]
感谢,这里我也已经写出来了,只是我是写了两个配置文件,也加载了两个。
不过,接下来的话,是否有自动判断当前服务器的数据库是哪种,并且可以自动加载相应驱动的办法呢?(利用程序判断某端口号是否开启?还是别的办法?)
因为应用服务器启动的时候就要加载这些,不可能让用户手动去选择吧。
继续求代码。。
huangqibing0626 2010-04-18
  • 打赏
  • 举报
回复
建立一个配置文件,jdbc.properties,包含以下内容:
jdbcType=0;#你要使用的数据库类型
#SQL Server 数据库连接信息
#SQL Server 驱动程序
SQLDriver=net.sourceforge.jtds.jdbc.Driver
#SQL Server 数据库连接字符串
#DreamTimeNews 为数据库名,user 为登录用户名,password 为登录密码。请自行更改。
SQLURL=jdbc:jtds:sqlserver://localhost:1433/DreamTimeNews;user=dreamnews;password=dreamnews

#Oracle数据库连接信息
OracleDriver=oracle.jdbc.driver.OracleDriver
OracleURL=jdbc:oracle:thin:@192.168.0.1:1521:SID
datasource.username=dreamnews
datasource.password=dreamnews

然后通过Properties prop= new Properties();
InputStream is = getClass().getResourceAsStream(jdbc.properties的路径)
prop.load(is)
来读取里面的内容。之后就可以加载相应的驱动了。
belen123 2010-04-18
  • 打赏
  • 举报
回复
用设计模式
from_null 2010-04-18
  • 打赏
  • 举报
回复
存储的数据是一样的。但是两个数据库在使用上是分开的,也就是同一个地方所部署的系统只使用一种数据库。
比如这套系统在北京和上海两个城市各部署了一套。但是北京用的是oracle,上海用的则是sqlserver。但要求只用同一套系统。
不考虑数据库内的数据是否兼容的问题,在系统上如何实现可以自动选择并读取两个数据库配置文件中的其中一个?(jdbc.properties)
顶贴,期待处理过这个问题的达人指点。
龙飞tgbmlp 2010-04-18
  • 打赏
  • 举报
回复
不知道两个数据库存储的数据是否一样?
什么时候使用oracle,什么时候使用sqlserver?
dallas16 2010-04-18
  • 打赏
  • 举报
回复
各位能不能说得具体点啊
Mars_Ma_OK 2010-04-18
  • 打赏
  • 举报
回复
数据连接池!
from_null 2010-04-18
  • 打赏
  • 举报
回复
...能说的具体点不?
demojava 2010-04-18
  • 打赏
  • 举报
回复
基于配置文件形式的数据库连接,采用抽象工厂设计模式最好不过了

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧