今天正好需要统计三个网站栏目信息更新情况,而这三个网站的后台采用了不同的数据库管理系统。初步想法是通过建立一个小的Tomcat webapp,进而通过JDBC访问这三个后台数据库,并根据返回的数据生成报表。
1 开发环境
-
数据库管理系统:一个是SqlServer 2000,另一个是Oracle 9i,再一个是PostgreSQL9.1
-
Tomcat执行平台:CentOSx64 + JDK7.0x64 (全64位环境)
2 JDBC驱动的选择
2.1 Oracle9i
Oracle官方提供了ojdbc6.jar这个type 4 JDBC驱动,仅此一个文件就能完成对JDBC的支持,将其拷贝到WEB-INF/lib下。关键代码如下:
2.2 SqlServer2000
微软官方也提供了SqlServer的type 4 JDBC驱动,具体说来有两个文件:sqljdbc4.jar, sqljdbc.jar,其中带4的是最新的版本可以运行于JDK7.0下,而不带4的版本不能运行于
JDK7下,问题是sqljdbc4.jar只支持SqlServer 2005以上的版本,不支持SqlServer 2000。也就是说要想通过微软提供的JDBC驱动操作SqlServer 2000,你的JDK版本一定要比JDK7低才行,可是我们的开发环境已经确定了是JDK7。
有此想到了两个解决思路:
Class.forName("net.sourceforge.jtds.jdbc.Driver");
DriverManager.registerDriver(new net.sourceforge.jtds.jdbc.Driver());
String dbUrl = "jdbc:jtds:sqlserver://IP地址:1433/数据库名";
2.3 PostgreSQL9.1
官网jdbc.potgresql.org提供postgresql-9.2-1000.jdbc4.jar,这也是一个type 4 JDBC驱动,下载即可使用。关键代码如下:
Class.forName("org.postgresql.Driver");
dbUrl = "jdbc:postgresql://IP地址:5432/数据库名";
这个驱动加载的时候自动注册,所以不需要再单独进行registerDriver了。
通过这个小小的项目,总结一下目前常用的数据库的JDBC驱动选择:
(1)SQL Server 对于2005及以上版本,建议使用微软官方的type 4JDBC驱动;对于2000版本,如果JDK环境较老,可以使用微软官方版本,如果JDK7.0则使用jTDS这个type 4JDBC驱动;
(2)Oracle,对于所有版本推荐使用官方的thin驱动,也就是type4的JDBC驱动;
(3)PostgreSQL, MySql,官方提供了type 4的JDBC驱动,使用即可。
网络是个宝藏,但是要找到你真正需要的东西,就必须有完整的知识体系结构,必须有清晰的分析思路。
今天正好需要统计三个网站栏目信息更新情况,而这三个网站的后台采用了不同的数据库管理系统。初步想法是通过建立一个小的Tomcat webapp,进而通过JDBC访问这三个后台数据库,并根据返回的数据生成报表。1 开发环境数据库管理系统:一个是SqlServer 2000,另一个是Oracle 9i,再一个是PostgreSQL9.1Tomcat执行平台:CentOSx64 + JDK
一、乱码报错
The server time zone value ‘???ú±ê×??±??’ is unrecognized or represents more than one time zone.
原因:
linux
不能用windows下的
连接
sqlserver
的配置:
datasource:
url:
jdbc
:
sqlserver
://
sqlserver
IP:port;DatabaseName=da
发动机外特性曲线(工况图)疑惑
IWDoraemon�:
C语言可变参函数的实现
zhiyanzhai563:
万恶之源:C语言中的隐式函数声明
liguss: