因為在Struts中配置一個數(shù)據(jù)庫連接池,折騰了一晚上,按照書上寫的就是出問題,就在網(wǎng)上搜啊搜,還真是不好找,倒是有很多提出這樣問題的帖子,但是都沒回答到點子上,結果還是在網(wǎng)上找到了一篇文章,討論是用Tomcat的連接池好還是用Struts的連接池好,結論是用哪個也不好,哈哈,其中有一段在Struts中配置連接池的實例,正好對我這個癥狀,哈哈,問題解決,甚是高興。
下面是摘自這篇文章關于配置Struts數(shù)據(jù)源的內容:
Struts DataSource管理器在Struts配置文件(Struts-config.xml)里定義。這個管理器可以用來分發(fā)和配置任何實現(xiàn)了javax.sql.DataSource接口的數(shù)據(jù)庫連接池(connection pool)。如果你的DBMS或者容器內置了符合這些要求的連接池,你可以優(yōu)先選用它。
Jakarta的公共連接池實現(xiàn) - BasicDataSource
如果你的手頭沒有連接池的本地(native)實現(xiàn),你可以使用Jakarta提供的公共連接池實現(xiàn)[org.apache.commons.dbcp.BasicDataSource],它可以和DataSource管理器"合作"的很好。另外,Struts還在它的util包里包含了一個GenericDataSource類,這也是一個連接池實現(xiàn)。但是這只是一個非常簡單的實現(xiàn)方案,不推薦使用,因為它可能在Struts的以后版本中被BasicDataSource或其它的數(shù)據(jù)源實現(xiàn)替換掉。
下面是一段Struts-config.xml配置文件中的數(shù)據(jù)源配置(使用GenericDataSource數(shù)據(jù)源實現(xiàn)),你可以更改相應的設置以適合你自己的系統(tǒng)。
<!-- configuration for GenericDataSource wrapper -->
<set-property="autoCommit" value="false"/>
<set-property="description" value="Example Data Source Configuration"/>
<set-property="driverClass" value="org.postgresql.Driver"/>
<set-property="maxCount" value="4"/>
<set-property="minCount" value="2"/>
<set-property="password" value="mypassword"/>
<set-property="url" value="jdbc:postgresql://localhost/mydatabase"/>
<set-property="user" value="myusername"/>
使用BasicDataSource數(shù)據(jù)源實現(xiàn)的配置方案如下:
<!-- configuration for commons BasicDataSource -->
<set-property="driverClassName" value="org.postgresql.Driver" />
<set-property="url" value="jdbc:postgresql://localhost/mydatabase" />
<set-property="username" value="me" />
<set-property="password" value="test" />
<set-property="maxActive" value="10" />
<set-property="maxWait" value="5000" />
<set-property="defaultAutoCommit" value="false" />
<set-property="defaultReadOnly" value="false" />
<set-property="validationQuery" value="select COUNT(*) FROM market" />
出處:http://wenson.javaeye.com/blog/33316
值得注意的是上面兩個數(shù)據(jù)源的配置中的property屬性的值有些不一樣,就是這個問題困擾了我一晚上。漲經(jīng)驗了呵呵,以后也很可能不會用Struts配置連接池。
另外,還查得了如何查看sqlserver2000的版本的方法,如下:
SELECT @@VERSION
SQL Server 2000 版本和級別 @@VERSION 產(chǎn)品級別
SQL Server 2000 原始版本 8.00.194 RTM
Database Components SP1 8.00.384 SP1
Database Components SP2 8.00.534 SP2
Database Components SP3、SP3a 或 MSDE 2000 Release A 8.00.760 SP3
Database Components SP4 8.00.2039 SP4
原來以為是數(shù)據(jù)庫沒有裝sp3的原因,通過上面的方法排出了這個猜測。