我正在使用Apache Tomcat 8和SQL Server 2005开发Web应用程序。
我必须重复"我的数据库用于创建在同一服务器上运行的并行Q& A环境。我做了一个数据库备份,并使用名称略有不同的备份创建了一个新的数据库;原始数据库的名称是" TSIM "并且第二个数据库的名称是" TSIMQA "虽然它们在内部是相同的。
当我尝试连接到" TSIMQA "从以下位置更改项目的 context.xml 文件中的 databaseName 资源:
<Context antiJARLocking="true" path="/TSIMQA">
<Resource
auth="Container" driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
maxActive="20" maxIdle="10" maxWait="5000" name="connpool"
type="javax.sql.DataSource" url="jdbc:sqlserver://localhost:1433;databaseName=TSIM;user=***;password=***"/></Context>
为:
<Context antiJARLocking="true" path="/TSIMQA">
<Resource
auth="Container" driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
maxActive="20" maxIdle="10" maxWait="5000" name="connpool"
type="javax.sql.DataSource" url="jdbc:sqlserver://localhost:1433;databaseName=TSIMQA;user=***;password=***"/></Context>
这里是我获得连接的java类:
public static Connection getConnection(){
try{
Context initContext;
initContext = new InitialContext();
DataSource ds = (DataSource) initContext.lookup("java:/comp/env/connpool");
return ds.getConnection();
}catch(NamingException | SQLException e){
Logger.getLogger(DBConn.class.getName()).log(Level.SEVERE, null, e);
}
return null;
}
它连接起来似乎一切正常,但事实上它仍然连接到&#34; TSIM &#34;。
我尝试过的是重新启动Tomcat,重新编译并重新上传战争,更改qa数据库名称,但它会一直连接到原始数据库。
我知道它没有提供context.xml文件中提供的信息,因为当我删除用户或密码时,我从连接中获得异常。
我已尝试将数据库名称更改为&#34; QATSIM &#34;希望得到一些关于发生了什么的线索,但它的行为方式相同。
我正在使用Netbeans来构建应用程序。 (我还没有完成任何数据库的设置,所以我不认为它试图指定任何默认数据源替换context.xml文件中的数据源。)
非常感谢您的时间并原谅我的英语限制。