环境:Tomcat6.x
MyEclipse 9.01M1
Xp系统
JDK 1.6
SQL Server 2005 数据库
数据库驱动 : Microsoft SQL Server 2005 JDBC 驱动程序 。(这个很重要,因为2000和2005的驱动程序对应的数据库连接的JDBC代码也是不一样的。)2005驱动程序对应的Jar包是sqljdbc.jsr. 下载地址是:http://www.microsoft.com/downloads/zh-cn/details.aspx?FamilyID=E22BC83B-32FF-4474-A44A-22B6AE2C4E17 解压得到sqljdbc.jar文件,将其复制到tomcat安装目录下面的lib文件下面,另外也需要在你的项目下面导进去这个包。
步骤1:
在Tomcat安装目录下面,找到conf文件夹下的 context.xml 文件,在<Context> </Context>添加:
<Resource name="jdbc/sqlserver"
auth="Container"
type="javax.sql.DataSource"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://127.0.0.1:1434;dataBaseName=MyDatabase"
username="sa"
password="123"
maxActive="500"
maxIdle="10"
maxWait="-1" />
其中
name是随便给的,但是为了见名知意,使用jdbc/sqlserver
driverClassName里面是加载SQL Server2005的驱动。(要注意SQL Server2000的驱动程序是这样写的:com.microsoft . jdbc .sqlserver .SQLServer )
url中 1434表示数据库端口号,MyDatabase表示一个数据库实例,要注意 最前面的 jdbc.sqlserver ,这个和SQL Server2000 的驱动程序写法也不一样。
username passward 这个就不用说了,登录数据库用的账号密码。
maxActive 最大连接数
maxIdle 最大等待连接数
步骤2:
JAVA源代码:
Context initCtx = new InitialContext();
Context ctx = (Context)initCtx.lookup("java:comp/env");
Object obj = (Object)ctx.lookup("jdbc/sqlserver");
DataSource ds = (DataSource)obj;
conn = ds.getConnection();
其中:Context ctx = (Context)initCtx.lookup("java:comp/env");是不能改变的。
Object obj = (Object)ctx.lookup("jdbc/sqlserver");中jdbc/sqlserver要和在第一步中定义的name保持一致。
其他的Statement , ResultSet 的方法和普通连接的方法一样。
步骤3:
也有的建议在项目下面的web.xml里面加入如下内容:
<resource-ref>
<description>db connection</description>
<res-ref-name>jdbc/sqlserver</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
其中<res-ref-name>jdbc/sqlserver</res-ref-name>要和在第一步中定义的name保持一致
但是步骤三可以省略。