系统,需要支持多种数据库。
用JNDI Datesource 链接数据库,得到数据源。
怎么样能够通过 这个 datasource 知道链接的是那种数据库呢?(oracle、DB2或者sqlServer)
那位有这方面的经验,请指,谢谢!
[b]问题补充:[/b]
恩。这个我也想到了。可以通过驱动城区判断,因为DataSource能够得到驱动程序的名称。
但是感觉这样不太直接,有没有更好的办法呢。
如果没有更好的办法,就只能通过这个字符串,判断了。如果这样,就只能依赖服务器配置的驱动程序,判断数据库的类型。感觉这样也不是最好的办法。
汗!楼上回答欠妥!
现在很多应用服务器都是用 JCA 规范来应对资源管理,
所以 Cilent 端用 jndi 从j2ee容器获得连接时,
可能是托管容器处理的
client的con只是一个rpc的sub,connection存在于服务端,
这样client就不需要db驱动。
托管形式 client sub sql 执行在服务端,再传送给 sub
lz 可以看下jdbc的 API,通过获取 DB 的 meta 信息来了解数据库。(getMetaInfo)
这样做比较保险
你可以判断加载的驱动类呀!不同的DB代表不同的数据连接嘛!