TOMCAT配置问题!数据库连接,老出错!

zzit0721 2007-10-17 11:30:30
<Context docBase="" path="" reloadable="true" source="com.ibm.wtp.web.server:tomcat">
<Logger className="org.apache.catalina.logger.FileLogger"
prefix="tomcat_log." suffix=".txt"
timestamp="true"/>

<Resource name="jdbc/SqlServer"
auth="Container"
type="javax.sql.DataSource"
reloadable="true"/>

<ResourceParams name="jdbc/SqlServer">
<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>123</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/BakBlog</value>
</parameter>
</ResourceParams>
</Context>

以上是配置数据连接的Context

程序中:
<%@ page contentType = "text/html;charset=gb2312" %>
<%@ page import = "java.sql.*" %>
<%@ page import = "javax.sql.*" %>
<%@ page import = "javax.naming.*" %>

< html >
< body >
<%
DataSource ds = null ;
Connection conn = null ;
ResultSet rs = null ;
java.sql.Statement stmt = null ;
InitialContext ctx = null ;

try
{
ctx =new InitialContext ();
ds =( DataSource ) ctx . lookup ( "jdbc/SqlServer" );
conn = ds . getConnection ();
stmt = conn . createStatement ();

String strSql = " select * from admin" ; 表
rs = stmt . executeQuery ( strSql );
while( rs . next ())
{
out . println ( rs . getString ( 1 ) + "" );
out . println ( rs . getString ( 2 ) + "" );
}
}
catch ( Exception ex )
{
out . println ( ex . getMessage ());
}

%>
</ body >
</ html >

老出现
Name jdbc is not bound in this Context

可是我的名字是那个啊,晕忽忽!
...全文
1311 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
tianxiaogang12 2008-06-01
  • 打赏
  • 举报
回复
楼主解决方法贴出来啊 共享 下 我也出这个错误
阿甘1976 2007-10-17
  • 打赏
  • 举报
回复
修改WEB-INF/web.xml 加入:
<resource-ref>
<description>
MS SQL SERVER DATASOURCE
</description>
<res-ref-name>
jdbc/SqlServer
</res-ref-name>
<res-type>
javax.sql.DataSource
</res-type>
<res-auth>
Container
</res-auth>
</resource-ref>

zzit0721 2007-10-17
  • 打赏
  • 举报
回复
按照你的改拉,还是不行得!
提示一样错误!
for_cyan 2007-10-17
  • 打赏
  • 举报
回复
<name >url </name >
<value >jdbc:microsoft:sqlserver://127.0.0.1:1433/BakBlog </value >
这里的url一般是跟着
jdbc:microsoft:sqlserver://127.0.0.1:1433;databaseName=tablename

看看
zzit0721 2007-10-17
  • 打赏
  • 举报
回复
谢谢大家,问题解决!
yf715 2007-10-17
  • 打赏
  • 举报
回复
我的 DataBase

public class DataBase {

private Connection conn = null;
private Statement stmt = null;
private static Context initCtx = null;
private static Context ctx = null;
private DataSource ds = null;
private ResultSet rs = null;

static {

try {

initCtx = new InitialContext();
ctx = (Context)initCtx.lookup("java:comp/env");
} catch (NamingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public DataBase() {

try {

ds = (DataSource)ctx.lookup("JNDI/hr");
conn = ds.getConnection();
stmt = conn.createStatement();
} catch (NamingException e) {

e.printStackTrace();
} catch (SQLException e) {

e.printStackTrace();
}
}



public ResultSet executeQuery(String sql) {

try {

rs = stmt.executeQuery(sql);

} catch (SQLException e) {

e.printStackTrace();
}
return rs;
}

public boolean executeUpdate(String sql) {

try {
stmt = conn.createStatement();
stmt.executeUpdate(sql);
return true;
} catch (SQLException e) {

e.printStackTrace();
return false;
}
}


public boolean executeBatchUpdate(String sql1,String sql2) {
boolean temp=true;
try {
conn.setAutoCommit(false);
stmt = conn.createStatement();
stmt.addBatch(sql1);
stmt.addBatch(sql2);
stmt.executeBatch();
conn.commit();
} catch (SQLException e) {
temp = false;
try {
conn.rollback();
} catch (SQLException e1) {
e1.printStackTrace();
}
e.printStackTrace();
}

return temp;
}
public void closeStmt() {
try {

stmt.close();

} catch (SQLException e) {

e.printStackTrace();
}
}

public void closeConn() {

try {

conn.close();

} catch (SQLException e) {

e.printStackTrace();
}
}

}
yf715 2007-10-17
  • 打赏
  • 举报
回复
ctx =new InitialContext ();
ctx = (Context)initCtx.lookup("java:comp/env");
ds =( DataSource ) ctx . lookup ( "jdbc/SqlServer" );
yf715 2007-10-17
  • 打赏
  • 举报
回复
ctx = (Context)initCtx.lookup("java:comp/env");

ds = (DataSource)ctx.lookup("JNDI/hr");//你的jndi名字
rainyheart 2007-10-17
  • 打赏
  • 举报
回复
楼主,报的错误是jndi没有找到,把你的代码中的
ds =( DataSource ) ctx . lookup ( "jdbc/SqlServer" );
改成
ds=(DataSource)ctx.lookup("java:comp/env/jdbc/SqlServer");

重新启动Tomcat,试试看
awusoft 2007-10-17
  • 打赏
  • 举报
回复
晒晒我的代码给你看吧.你自己去改


public Connection getConnection()
{
Log log = LogFactory.getLog(DBConnection.class);
Connection conn = null;
DataSource ds = null;
try {
InitialContext ctx=new InitialContext();
ds=(DataSource)ctx.lookup("java:comp/env/jdbc/zltstruts");
conn = ds.getConnection();
System.out.println("访问数据库");
}

catch (SQLException ex) {
ex.printStackTrace();
log.error("数据库连接出错:" + ex.getMessage());
}
catch (NamingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return conn;
}





<Host name="localhost" debug="0" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context displayName="zltWeb" docBase="zlt" path="/zlt" reloadable="true">
<Resource auth="Container" name="jdbc/zltstruts" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/zltstruts">
<parameter>
<name>url</name>
<value>jdbc:microsoft:sqlserver://localhost:1433;databaseName=comm</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>0</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>150</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>3000</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
</parameter>
<parameter>
<name>removeAbandoned</name>
<value>true</value>
</parameter>
<parameter>
<name>username</name>
<value>sa</value>
</parameter>
<parameter>
<name>password</name>
<value></value>
</parameter>
</ResourceParams>
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
</Context>

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧