Java开发网 Java开发网
注册 | 登录 | 帮助 | 搜索 | 排行榜 | 发帖统计  

您没有登录

» Java开发网 » Database/JDBC/SQL/JDO/Hibernate » MS SQL  

按打印兼容模式打印这个话题 打印话题    把这个话题寄给朋友 寄给朋友    该主题的所有更新都将Email到你的邮箱 订阅主题
flat modethreaded modego to previous topicgo to next topicgo to back
作者 关于数据库连结池的问题?
sun7bear





发贴: 16
积分: 0
于 2006-05-06 19:55 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
<!--测试数据源-->
<%@ page contentType="text/html; charset=gb2312" %>
<%@ page import="javax.naming.Context" %>
<%@ page import="javax.sql.DataSource"%>
<%@ page import="javax.naming.InitialContext"%>
<%@ page import="java.sql.*"%>

<%
DataSource ds = null;
try{
Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
//从Context中lookup数据源。
ds = (DataSource)envCtx.lookup("jdbc/DBPool");
  if(ds!=null)
  {
  out.println("已经获得DataSource!");
  out.println("<br>");
  Connection conn = ds.getConnection();
  Statement stmt=conn.createStatement();
  ResultSet rst=stmt.executeQuery("select * from book");
  out.println("以下是从数据库中读取出来的数据");
  while(rst.next())
  {
  out.println("bookName:"+rst.getString("bookName"));
  out.println("<br>");  
  }
  }
  else
   out.println("连接失败!");
  }
  catch(Exception ne)
  {
   out.println(ne);
  }
%>
我用如上jsp文件连接到mssql2000,结果显示如下错误
已经获得DataSource!
org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory ([Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.)
已经获得数据源,但为什么不能取的mssql2000中的数据呢?



作者 Re:关于数据库连结池的问题? [Re:sun7bear]
sunjavaduke

乒乓球国手-张怡宁



发贴: 176
积分: 6
于 2006-05-06 23:18 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
实例讲解:使用连接池连接MS SQL SERVER 2000

连接MS SQL SERVER 2000时要把msbase.jar,mssqlserver.jar,msutil.jar三个文件复制到%Tomcat 5.0%\common\lib中,这是它的驱动程序,然后要设定Tomcat的server.xml,它位于%Tomcat 5.0%\conf\server.xml,需要建立一个站点,代码如下:添加到server.xml中的</host>前面。

<Context path="\Project" reloadable="true" docBase="Project">

<Resource name="jdbc/Project" auth="Container" type="javax.sql.DataSource"/>

<ResourceParams name="jdbc/Project">

<parameter>

<name>factory</name>

<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>

</parameter>

<parameter>

<name>maxActive</name>

<value>100</value>

</parameter>

<parameter>

<name>maxIdle</name>

<value>30</value>

</parameter>

<parameter>

<name>maxWait</name>

<value>10000</value>

</parameter>

<parameter>

<name>username</name>

<value>sa</value>

</parameter>

<parameter>

<name>password</name>

<value>sunjavaduke</value>

</parameter>

<parameter>

<name>driverClassName</name>

<value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>

</parameter>

<parameter>

<name>url</name>

<value>jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=Project;user=sa;password=sunjavaduke;</value>

</parameter>

</ResourceParams>

</Context>





server.xml配置完成之后,就可以对数据库进行操作了,具体代码如下:

<%@ page contentType="text/html;charset=gb2312" language="java" import="java.sql.*,javax.naming.*,javax.sql.*" errorPage="" %>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html;charset=gb2312">

<title>连接池连接MS SQL SERVER 2000<title>

</head>

<body>

<%

out/print("使用连接池连接MS SQL SERVER 2000<br>");

out.println("<br>");

Context ctx=null;

DataSource ds=null;

Statment stmt=null;

ResultSet rs=null;

Connection con=null;

ResultSetMetaData md=null;

try{

ctx=new InitialContext();

ds=(DataSource)ctx.lookup("java:comp/env/jdbc/Project");

con=ds.getConnection();

stmt=con.createStatment();

rs=stmt.excuteQuery("select * from Test");

md=rs.getMetaData();

out.print(md.getColumnLabel(1)+" ");

out.print(md.getColumnLabel(2)+"<br>");

while(rs.next()){

out.print(rs.getInt(1)+" ");

out.print(rs.getString(2)+"<br>");

}

}catch(Exception e){

out.print(e);

}finally{

if(rs!=null) rs.close();

if(stmt!=null) stmt.close();

if(con!=null) con.close();

}

%>

</body>

</html>



-----------------------------------------------------------------
icd.Neusoft Co,.Ltd.
mail:zhangzhongl@neusoft.com
tel:13591718127
QQ:176932855
------------------------------------------------------------------
作者 Re:关于数据库连结池的问题? [Re:sun7bear]
sunjavaduke

乒乓球国手-张怡宁



发贴: 176
积分: 6
于 2006-05-06 23:19 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
希望对你有些帮助。


-----------------------------------------------------------------
icd.Neusoft Co,.Ltd.
mail:zhangzhongl@neusoft.com
tel:13591718127
QQ:176932855
------------------------------------------------------------------

flat modethreaded modego to previous topicgo to next topicgo to back
  已读帖子
  新的帖子
  被删除的帖子
Jump to the top of page

   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923