tomcat中JNDI数据源出错,怀疑是SQLServer问题,请高手指点
我在${tomcat_home}/conf/server.xml中配置JNDI数据源如下:
<Context path="/prj" docBase="prj">
<Resource name="jdbc/prj" scope="Shareable" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/prj">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<!-- DBCP database connection settings -->
<parameter>
<name>url</name>
<value>jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=prj</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
</parameter>
<parameter>
<name>username</name>
<value>sa</value>
</parameter>
<parameter>
<name>password</name>
<value></value>
</parameter>
<!-- DBCP connection pooling options -->
<parameter>
<name>maxWait</name>
<value>3000</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>100</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>10</value>
</parameter>
</ResourceParams>
</Context>
然后访问该数据源时报错如下:
org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory ([Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.)
然而将server.xml中
<parameter>
<name>url</name>
<value>jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=prj</value>
</parameter>
改为:
<parameter>
<name>url</name>
<value>jdbc:microsoft:sqlserver://192.168.0.18:1433;DatabaseName=prj</value>
</parameter>
也就是访问同事机器上的数据库却没有问题。在家里我个人的机器上也没问题,所以我怀疑是我机器上的SQLServer有问题,不知哪位高人曾碰到过这种问题,给指点指点,感激不尽哪!
我的机器是win2003,同事和家里的机器都是win2000,应该与这个没关系吧。