我们经常使用数据库驱动名以及其URL,用户名和密码去获取一个指定数据库的链接,无论是JDBC方式还是数据源的方式。
我想问的是: 是否可以通过一个数据库的链接获取对应数据库的类型,例如,现在存在一个数据库的链接实例或数据源实例,怎样通过这个已知的条件获取对应的数据库类型,是sqlserver, oracle, mysql, postgresql......等数据库名称或类型名称

解决方案 »

  1.   

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

  2.   


    我的意思是根据一个已经存在的链接反过来确定数据库类型,因为这个链接可能是由数据源配置文件确定,也有可能是由JDBC代码中实现。而不是需要那些数据库厂商提供的数据库连接字符串
      

  3.   

    可以啊由driverClass不是可以看出来数据库类型吗
      

  4.   

    从Connection可以取得数据库的各种信息:DatabaseMetaData Connection.getMetaData()
    然后使用DatabaseMetaData去查看此连接使用的是哪个数据库,例如DatabaseMetaData.getDriverName(),更详细的使用看JDK api文档或者通过网络搜索 
      

  5.   

    请问: 在程序中用代码怎么写, Driver类没有不带参数的方法可以获取得到, 有一个这样的方法getPropertyInfo(String url, Properties info) ,得到的是propertiesinfo
      

  6.   


    谢谢您的提醒,根据您的提醒再结合API,终于解决了我的疑问。算是给自己一个警告,对API不熟悉。看来还得仔细研究下这个API,