我在一些网站上搜索了答案并遵循了所有指示,但我无法从我在Tomcat 7中运行的网络应用程序获得与MySql的连接。这是我的contect.xml条目(上下文。 xml位于META-INF文件夹中):
<Resource name="jdbc/superpool"
global="jdbc/superpool"
auth="Container"
type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/superpool"
username="devuser"
password="devuser"
maxActive="100"
maxIdle="20"
minIdle="5"
maxWait="10000"/>
这是我的web.xml条目(位于WEB-INF文件夹中)
<resource-ref>
<description>SuperPool MySQL Datasource </description>
<res-ref-name>jdbc/superpool</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
这是我的java代码:
Connection c = null;
try {
InitialContext initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
DataSource ds = (DataSource) envCtx.lookup("jdbc/superpool");
//c = ds.getConnection("devuser", "devuser");
c = ds.getConnection();
} catch (NamingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
我得到的例外是: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:未知数据库&#39; superpool&#39;
我怀疑它是因为它不知道数据库的位置,但我不确定将DB文件放在何处。我尝试过Tomcat ROOT目录和WEB-INF,但仍然无法连接。任何帮助表示赞赏。