寻求解决方案,欢迎大家讨论建议.......

sirtener 2010-08-13 11:58:23
我们经常使用数据库驱动名以及其URL,用户名和密码去获取一个指定数据库的链接,无论是JDBC方式还是数据源的方式。
我想问的是: 是否可以通过一个数据库的链接获取对应数据库的类型,例如,现在存在一个数据库的链接实例或数据源实例,怎样通过这个已知的条件获取对应的数据库类型,是sqlserver, oracle, mysql, postgresql......等数据库名称或类型名称
...全文
83 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
sirtener 2010-08-13
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 inhibitory 的回复:]
引用 2 楼 chong023 的回复:

引用 1 楼 silence_smile 的回复:
不同的数据库连接字符串不同
这里有个整理http://wenku.baidu.com/view/9cebbc2acfc789eb172dc8ee.html


我的意思是根据一个已经存在的链接反过来确定数据库类型,因为这个链接可能是由数据源配置文件确定,也有可能是由JDBC代码中实现。而不……
[/Quote]

谢谢您的提醒,根据您的提醒再结合API,终于解决了我的疑问。算是给自己一个警告,对API不熟悉。看来还得仔细研究下这个API,
sirtener 2010-08-13
  • 打赏
  • 举报
回复
请问: 在程序中用代码怎么写, Driver类没有不带参数的方法可以获取得到, 有一个这样的方法getPropertyInfo(String url, Properties info) ,得到的是propertiesinfo
Inhibitory 2010-08-13
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 chong023 的回复:]

引用 1 楼 silence_smile 的回复:
不同的数据库连接字符串不同
这里有个整理http://wenku.baidu.com/view/9cebbc2acfc789eb172dc8ee.html


我的意思是根据一个已经存在的链接反过来确定数据库类型,因为这个链接可能是由数据源配置文件确定,也有可能是由JDBC代码中实现。而不是需要那些数据库厂商提供的数据库连接字符串
[/Quote]
从Connection可以取得数据库的各种信息:DatabaseMetaData Connection.getMetaData()
然后使用DatabaseMetaData去查看此连接使用的是哪个数据库,例如DatabaseMetaData.getDriverName(),更详细的使用看JDK api文档或者通过网络搜索
Silence_Smile 2010-08-13
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 colin_pxx 的回复:]

可以啊由driverClass不是可以看出来数据库类型吗
[/Quote]
我也是这个意思
colin_pxx 2010-08-13
  • 打赏
  • 举报
回复
可以啊由driverClass不是可以看出来数据库类型吗
sirtener 2010-08-13
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 silence_smile 的回复:]
不同的数据库连接字符串不同
这里有个整理http://wenku.baidu.com/view/9cebbc2acfc789eb172dc8ee.html
[/Quote]

我的意思是根据一个已经存在的链接反过来确定数据库类型,因为这个链接可能是由数据源配置文件确定,也有可能是由JDBC代码中实现。而不是需要那些数据库厂商提供的数据库连接字符串
Silence_Smile 2010-08-13
  • 打赏
  • 举报
回复
不同的数据库连接字符串不同
这里有个整理http://wenku.baidu.com/view/9cebbc2acfc789eb172dc8ee.html

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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