你的数据库是否已经启动,请确定到这里重新下载MYSQL JDBC(以前遇到过用错JDBC的事情)
http://www.code-labs.com/tools/下载以后解压后的文件名应该是“mysql_comp.jar”
把这个文件放到$tomcat_home\common\lib顺便贴代码看看
http://www.code-labs.com/tools/下载以后解压后的文件名应该是“mysql_comp.jar”
把这个文件放到$tomcat_home\common\lib顺便贴代码看看
JDBC Driver Class: com.microsoft.jdbc.sqlserver.SQLServerDriver
tomcat/common/lib目录下放了sql server jdbc文件:msbase.jar , mssqlserver.jar, msutil.jar,而且用Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();测试过是没有问题的
conf/server.xml 和 web-inf/web.xml里面的配置也是按照tomcat文档去做的,没问题。
<Resource name="jdbc/SQLServerEMSDB" auth="Container" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/SQLServerEMSDB">
<parameter>
<name>driverClassName</name>
<value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:microsoft:sqlserver://192.168.0.222:1433;DatabaseName=info</value>
</parameter>
<parameter>
<name>username</name>
<value>sa</value>
</parameter>
<parameter>
<name>password</name>
<value>mypassword</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>20</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>20</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>1000</value>
</parameter>
</ResourceParams>
</Context>
<web-app>
<resource-ref>
<description>microsoft sql server jdbc</description>
<res-ref-name>jdbc/SQLServerEMSDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app>
<%@page import="javax.sql.DataSource"%>
<%
DataSource ds = null;
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;String strSql = "";Context initCtx = new InitialContext();
Context envCtx = (Context)initCtx.lookup("java:comp/env");strSql = "select jgmc from c_jgb";
ds = (DataSource)envCtx.lookup("jdbc/SQLServerEMSDB"); conn = ds.getConnection();if ( conn == null) {
out.println("conn is null");
}
else {
out.println(conn.toString());
out.println("<br>");
stmt = conn.createStatement();
rs = stmt.executeQuery(strSql); while ( rs.next() ) {
out.println(rs.getString(1));
out.println("<br>");
} rs.close();
conn.close();
}
%>
ds = (DataSource)envCtx.lookup("jdbc/SQLServerEMSDB");
我执行这句话的时候抛异常了至今没解决
这是我的帖子,请各位大哥看看那
http://expert.csdn.net/Expert/topic/1746/1746774.xml?temp=.886883
好像是
javax.naming.NamingException: Cannot create resource instance具体信息请各位大哥看看我的帖子谢谢各位帮忙
http://expert.csdn.net/Expert/topic/1746/1746774.xml?temp=.3211634
http://expert.csdn.net/Expert/topic/1858/1858339.xml?temp=.1246302
另外,不推荐使用微软自己写的jdbc
有很严重的漏洞
jvm每进行一次垃圾处理,这个驱动就会吃掉一小部分的内存
时间一长就挂机了
还可以在哪里下载sqlserver的别的jdbcto sgdb(神天月晓):
好像问题幷不是那个。
看看我在那最后的回复吧!!