不行了,resin怎么配置SQLServer2000的JDBC driver 和连接池啊? Resin的文件夹下有个conf文件夹,你用EditPlus打开其中的配置文件resin.conf,建议你在修改前备份一下。然后修改里面的配置文件就应该可以了。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 楼上,首先谢你我也知道resin.conf,但是要怎么改啊? 呵呵。<resource-ref> <res-ref-name>jdbc/DBConn</res-ref-name><!--连接名称--> <res-type>javax.sql.DataSource</res-type> <init-param driver-name="com.microsoft.jdbc.sqlserver.SQLServerDriver"/> <init-param url="jdbc:microsoft:sqlserver://127.0.0.1:1433;DataBaseName=master"/><!--SQLSERVER连接方式,以及数据库名称--> <init-param user="sa"/><!--SQLSERVER连接用户名--> <init-param password=""/><!--SQLSERVER连接口令--> <init-param max-connections="20"/> <init-param max-idle-time="20"/> <init-param max-active-time="3"/> <init-param max-pool-time="24"/> <init-param connection-wait-time="5"/> <log id='/caucho.com/sql/pool' href='logs/dbpool.log' timestamp='[%H:%M:%S.%s]'/> <!--其他连接设置,具体参考resin的文档了--></resource-ref> 注意:我使用的版本是resin-3.0.8第一步:把驱动 msbase.jar mssqlserver.jar msutil.jar 放入resin-3.0.8安装目录下的lib文件夹中第二步:修改resin-3.0.8安装目录下的conf文件夹中的resin.conf配置文件,查找 database ,找到后复制<database>和 </database>之间的内容,粘贴到任意地方都可,我们是要建立 for MS SQL server2000 的数据源,所以对复制后的内容要进行修改,修改后的结果如下: <database> <jndi-name>jdbc/MSSql</jndi-name> <driver type="com.microsoft.jdbc.sqlserver.SQLServerDriver"> <url>jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=DBTest</url> <user>sa</user> <password></password> </driver> <prepared-statement-cache-size>8</prepared-statement-cache-size> <max-connections>20</max-connections> <max-idle-time>30s</max-idle-time> </database> 非常感谢楼上两位给我的帮助,也不知道是我机子的问题还是怎么的?按照 yuanjiasheng(软虫) 的做法修改resin.conf后,运行不关联数据库的jsp正常,但是用个调用数据库的jsp测试就报错:*** 500 Servlet Exceptionjava.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]第1 行: ' ' 附近有语法错误。 at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source) at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source) at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processErrorToken(Unknown Source) at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReplyToken(Unknown Source) at com.microsoft.jdbc.sqlserver.tds.TDSExecuteRequest.processReplyToken(Unknown Source) at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReply(Unknown Source) at com.microsoft.jdbc.sqlserver.SQLServerImplStatement.getNextResultType(Unknown Source) at com.microsoft.jdbc.base.BaseStatement.commonTransitionToState(Unknown Source) at com.microsoft.jdbc.base.BaseStatement.postImplExecute(Unknown Source) at com.microsoft.jdbc.base.BaseStatement.commonExecute(Unknown Source) at com.microsoft.jdbc.base.BaseStatement.executeQueryInternal(Unknown Source) at com.microsoft.jdbc.base.BaseStatement.executeQuery(Unknown Source) at _jsp._msserver__jsp._jspService(msserver.jsp:12) at com.caucho.jsp.JavaPage.service(JavaPage.java:61) at com.caucho.jsp.Page.pageservice(Page.java:569) at com.caucho.server.dispatch.PageFilterChain.doFilter(PageFilterChain.java:149) at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:163) at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:208) at com.caucho.server.hmux.HmuxRequest.handleRequest(HmuxRequest.java:386) at com.caucho.server.port.TcpConnection.run(TcpConnection.java:332) at com.caucho.util.ThreadPool.runTasks(ThreadPool.java:457) at com.caucho.util.ThreadPool.run(ThreadPool.java:398) at java.lang.Thread.run(Thread.java:595)--------------------------------------------------------------------------------Resin-3.0.10 (built Mon, 20 Dec 2004 01:12:17 PST) ***我测试用的jsp代码:<%@ page contentType="text/html;charset=GBK" %><%@ page language="java" import="java.io.*,java.sql.*,java.util.*"%><html><body><% Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance(); String url="jdbc:microsoft:sqlserver://lookio:1433;DatabaseName=pubs"; String user="sa"; String password = ""; Connection conn = DriverManager.getConnection(url,user,password); Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); String sql="select job_id,job_desc from jobs"; ResultSet rs=stmt.executeQuery(sql); while(rs.next()){%> 您的第一个字段内容为:<%=rs.getString(1)%><br> 您的第二个字段内容为:<%=rs.getString(2)%><br> <%}%> <%out.print("数据库操作成功,恭喜你");%> <% rs.close(); stmt.close(); conn.close(); %> </body> </html> ****还有,“<resource-ref>”这个标签是什么作用?具体位置加在哪里?和 yuanjiasheng(软虫)那样的写法有什么不同? 达人可否把完整的配置好的采用连接池的resin.conf发上来啊?那样出现什么问题也比较明确了 楼主,你的思路错了。配置连接池就是为了提高数据使用的速度,效率。你用了连接池,还在页面里用数据连接,这是不对的。你用了javabean吗?在javabean里面实现数据库连接池的使用。 我新写的一段测试代码:<%@ page contentType="text/html; charset=GB2312" %><%@ page import="javax.servlet.*" %><%@ page import="javax.servlet.http.*" %><%@ page import="java.io.*" import="java.sql.*" import="javax.naming.*" import="javax.sql.DataSource" %><html><head><title>pool</title></head><body bgcolor="#ffffff"><% javax.sql.DataSource ds = null; Connection myConn = null; Statement stmt = null; ResultSet rs = null; try { Context ctx = new InitialContext(); // get jndi name ds = (javax.sql.DataSource) ctx.lookup("MSSQL"); } catch (Exception e) { out.println(e.toString()); } try { out.println("开始连接:"); myConn = ds.getConnection(); out.println("连接成功!"); stmt = myConn.createStatement(); out.println("创建语句成功!"); rs = stmt.executeQuery("select job_desc from jobs"); while (rs.next()) { out.println(rs.getString("job_desc")); } rs.close(); stmt.close(); } catch (Exception e) { out.println(e.toString()); } finally { if (rs != null) { try { rs.close(); } catch (Exception ei) { out.println(ei.toString()); } } if (stmt != null) { try { stmt.close(); } catch (Exception ex) { out.println(ex.toString()); } } if (myConn != null) { try { myConn.close(); } catch (Exception ee) {} }}%></body></html>**********resin.conf里我把下面这段加到被注释掉的<database>标签后面了: <database> <jndi-name>jdbc/MSSQL</jndi-name> <driver type="com.microsoft.jdbc.sqlserver.SQLServerDriver"> <url>jdbc:microsoft:sqlserver://192.168.0.123:1433;DatabaseName=pubs</url> <user>sa</user> <password/> </driver> <prepared-statement-cache-size>8</prepared-statement-cache-size> <max-connections>20</max-connections> <max-idle-time>30s</max-idle-time> </database>************运行的结果:“开始连接: java.lang.NullPointerException ”相同的路径,执行其他不连接数据库的JSP文件正常。这到底是怎么回事? //这是jndi-name<jndi-name>jdbc/MSSQL</jndi-name>//这里改一下ds = (javax.sql.DataSource) ctx.lookup("MSSQL");ds = (javax.sql.DataSource) ctx.lookup("jdbc/MSSQL"); jboss搭载ejb出现的问题,求解! 求HTTP Status 500错误解决方案 页面传值问题。 spring如何动态注入多个ldapContextSource,谁有什么办法? 在2000中,怎么配置JDBC 急求Hibernate-extensions2.1.3 [求助]socket连接出错,报SecurityException 在jboss中ejbql出错,求教 很小的程序用package 打包后就出问题 ----- 在线等,急!!!!! 【400分送完为止】讨论browser端的多笔记录输入问题 torque是做什么的?怎么用? 请问有无工具将数据从EXCEL直接导入至数据库中?
我也知道resin.conf,但是要怎么改啊?
<res-ref-name>jdbc/DBConn</res-ref-name>
<!--连接名称-->
<res-type>javax.sql.DataSource</res-type>
<init-param driver-name="com.microsoft.jdbc.sqlserver.SQLServerDriver"/>
<init-param url="jdbc:microsoft:sqlserver://127.0.0.1:1433;DataBaseName=master"/>
<!--SQLSERVER连接方式,以及数据库名称-->
<init-param user="sa"/>
<!--SQLSERVER连接用户名-->
<init-param password=""/>
<!--SQLSERVER连接口令-->
<init-param max-connections="20"/>
<init-param max-idle-time="20"/>
<init-param max-active-time="3"/>
<init-param max-pool-time="24"/>
<init-param connection-wait-time="5"/>
<log id='/caucho.com/sql/pool' href='logs/dbpool.log' timestamp='[%H:%M:%S.%s]'/>
<!--其他连接设置,具体参考resin的文档了-->
</resource-ref>
<database>
<jndi-name>jdbc/MSSql</jndi-name>
<driver type="com.microsoft.jdbc.sqlserver.SQLServerDriver">
<url>jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=DBTest</url>
<user>sa</user>
<password></password> </driver>
<prepared-statement-cache-size>8</prepared-statement-cache-size>
<max-connections>20</max-connections>
<max-idle-time>30s</max-idle-time>
</database>
500 Servlet Exception
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]第
1 行: ' ' 附近有语法错误。
at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processErrorToken(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReplyToken(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSExecuteRequest.processReplyToken(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReply(Unknown Source)
at com.microsoft.jdbc.sqlserver.SQLServerImplStatement.getNextResultType(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.commonTransitionToState(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.postImplExecute(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.commonExecute(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.executeQueryInternal(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.executeQuery(Unknown Source)
at _jsp._msserver__jsp._jspService(msserver.jsp:12)
at com.caucho.jsp.JavaPage.service(JavaPage.java:61)
at com.caucho.jsp.Page.pageservice(Page.java:569)
at com.caucho.server.dispatch.PageFilterChain.doFilter(PageFilterChain.java:149)
at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:163)
at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:208)
at com.caucho.server.hmux.HmuxRequest.handleRequest(HmuxRequest.java:386)
at com.caucho.server.port.TcpConnection.run(TcpConnection.java:332)
at com.caucho.util.ThreadPool.runTasks(ThreadPool.java:457)
at com.caucho.util.ThreadPool.run(ThreadPool.java:398)
at java.lang.Thread.run(Thread.java:595)
--------------------------------------------------------------------------------
Resin-3.0.10 (built Mon, 20 Dec 2004 01:12:17 PST) ***
我测试用的jsp代码:<%@ page contentType="text/html;charset=GBK" %>
<%@ page language="java" import="java.io.*,java.sql.*,java.util.*"%>
<html>
<body>
<% Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://lookio:1433;DatabaseName=pubs";
String user="sa";
String password = "";
Connection conn = DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select job_id,job_desc from jobs";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()){%>
您的第一个字段内容为:<%=rs.getString(1)%><br>
您的第二个字段内容为:<%=rs.getString(2)%><br>
<%}%>
<%out.print("数据库操作成功,恭喜你");%>
<% rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
****还有,“<resource-ref>”这个标签是什么作用?具体位置加在哪里?和 yuanjiasheng(软虫)那样的写法有什么不同?
<%@ page import="javax.servlet.*" %>
<%@ page import="javax.servlet.http.*" %>
<%@ page import="java.io.*" import="java.sql.*" import="javax.naming.*" import="javax.sql.DataSource" %><html>
<head>
<title>
pool
</title>
</head>
<body bgcolor="#ffffff">
<% javax.sql.DataSource ds = null;
Connection myConn = null;
Statement stmt = null;
ResultSet rs = null;
try {
Context ctx = new InitialContext();
// get jndi name
ds = (javax.sql.DataSource) ctx.lookup("MSSQL");
}
catch (Exception e) {
out.println(e.toString());
}
try {
out.println("开始连接:"); myConn = ds.getConnection();
out.println("连接成功!"); stmt = myConn.createStatement();
out.println("创建语句成功!"); rs = stmt.executeQuery("select job_desc from jobs");
while (rs.next()) {
out.println(rs.getString("job_desc"));
}
rs.close();
stmt.close();
}
catch (Exception e) {
out.println(e.toString());
}
finally {
if (rs != null) {
try {
rs.close();
}
catch (Exception ei) {
out.println(ei.toString());
}
}
if (stmt != null) {
try {
stmt.close();
}
catch (Exception ex) {
out.println(ex.toString());
}
}
if (myConn != null) {
try {
myConn.close();
}
catch (Exception ee) {}
}
}
%>
</body>
</html>**********resin.conf里我把下面这段加到被注释掉的<database>标签后面了: <database>
<jndi-name>jdbc/MSSQL</jndi-name>
<driver type="com.microsoft.jdbc.sqlserver.SQLServerDriver">
<url>jdbc:microsoft:sqlserver://192.168.0.123:1433;DatabaseName=pubs</url>
<user>sa</user>
<password/>
</driver>
<prepared-statement-cache-size>8</prepared-statement-cache-size>
<max-connections>20</max-connections>
<max-idle-time>30s</max-idle-time>
</database>
************运行的结果:“开始连接: java.lang.NullPointerException ”相同的路径,执行其他不连接数据库的JSP文件正常。这到底是怎么回事?
<jndi-name>jdbc/MSSQL</jndi-name>//这里改一下
ds = (javax.sql.DataSource) ctx.lookup("MSSQL");ds = (javax.sql.DataSource) ctx.lookup("jdbc/MSSQL");