tomcat怎么连接oracle数据库

swanmarx 2004-03-30 08:55:39
我安装了tomcat,配了一个数据源(名称:oracleJNDI)
怎么用这个数据源连接数据库?

是不是这样:
InitialContext ctx = new InitialContext();
String dataSourceName="oracleJNDI";
DataSource ds=null;
ds=(DataSource)ctx.lookup(dataSourceName);
Connection con=ds.getConnection("tmp","123");
Statement sta = con.createStatement();
ResultSet rs = sta.executeQuery("select * from tmp");

while (rs.next()){
out.println(rs.getString(1));
}
我这样试了一下,报错如下:
org.apache.jasper.JasperException: Name oracleJNDI is not bound in this Context
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:254)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)


先谢谢大虾了!!!!
...全文
286 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
flymoon 2004-03-31
  • 打赏
  • 举报
回复
主要有三个步骤:
1 创建oracle.jdbc.pool.OracleDataSource类的Oracle数据源对象
2 使用set方法设置Oracle数据源对象属性
3 使用getConnection()方法通过Oracle数据源对象连接数据库
你的数据源没有配置好吗?
yangxjn 2004-03-31
  • 打赏
  • 举报
回复
哥们
如果想用jdbc连oracle 你要还把oracle 数据库中的文件夹jdbc中的classes12 放到你的虚拟目录中的classes 文件夹下解压啊。这样就可以在利用 bean 连接oracle了

package shop;
import java.net.*;
import java.sql.*;
import java.io.*;
import java.util.*;

public class db implements Serializable
{
static Connection conn=null;
Statement stmt=null;
ResultSet rs=null;
static String DBDriver="oracle.jdbc.driver.OracleDriver";
static String DBUrl= "jdbc:oracle:thin:@192.168.2.124:1521:oradb";
static String DBUser="yangxjn";
static String DBPassword="lml";

public db(){ }

public static Connection getConnection()
{
try{
Class.forName(DBDriver);
conn=DriverManager.getConnection(DBUrl,DBUser,DBPassword);
}
catch(ClassNotFoundException e)
{
System.err.println("mydb():"+e.getMessage());
}
catch(SQLException e)
{
System.err.println("db():"+e.getMessage());
}
return conn;
}

public void closeConnection()
{
try{
if(rs!=null)
rs.close();
if(stmt!=null)
stmt.close();
if(conn!=null)
conn.close();
}
catch(SQLException e)
{
System.err.println("db():"+e.getMessage());
}
rs=null;
stmt=null;
conn=null;
}


public java.sql.PreparedStatement PreparedStatement1(String Sql)
{
try {
return conn.prepareStatement(Sql);
}
catch (SQLException ex)
{
return null;
}
}

public java.sql.CallableStatement CallableStatement1(String pro)
{
try{
return conn.prepareCall(pro);
}
catch (SQLException ex)
{
return null;
}
}


public ResultSet executeQuery1(String sql)
{
rs=null;
try{
Connection conn1=getConnection();
if(conn1!=null)
{
stmt=conn.createStatement();
rs=stmt.executeQuery(sql);
}
}
catch(SQLException e)
{
System.err.println("db.executeQuery():"+e.getMessage());
}
return rs;
}

public boolean executeUpdate(String sql)
{
boolean bupdate=false;
try{
Connection conn1=getConnection();
if(conn1!=null)
{
stmt=conn.createStatement();
int rowCount=stmt.executeUpdate(sql);
if(rowCount!=0)
bupdate=true;
}
}
catch(SQLException e)
{
System.err.println("db.executeUpdate():"+e.getMessage());
}
return bupdate;
}
}
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
test.jsp

<%@ page language="java" import="java.sql.*" %>
<%! String id,name,sql1;
Boolean t;
%>
<jsp:useBean id="RegisterBean" scope="page" class="shop.db" />
<%
String sql1="insert into admin(usename,pws)values('yangxjn','lml')";
if (RegisterBean.executeUpdate(sql1))
{
out.print("44~~~");
}
String sql="select * from admin";
ResultSet rs = RegisterBean.executeQuery1(sql);

while (rs.next())
{
id = rs.getString(1);
name = rs.getString(2);
out.print("<tr><td>" + id + "</td><td>" + name + "</td></tr>");
}



%>
jackcf 2004-03-31
  • 打赏
  • 举报
回复
如果oracle数据库是本地数据库那么建议可以使用zhouguoyao的代码!
swanmarx 2004-03-30
  • 打赏
  • 举报
回复
你好Raulgodle(劳尔):
能给点代码吗?

有谁能给点?
不胜感谢!
Raulgodle 2004-03-30
  • 打赏
  • 举报
回复
主要有三个步骤:
1 创建oracle.jdbc.pool.OracleDataSource类的Oracle数据源对象
2 使用set方法设置Oracle数据源对象属性
3 使用getConnection()方法通过Oracle数据源对象连接数据库
jaylee 2004-03-30
  • 打赏
  • 举报
回复
我今天遇到相同的问题。。。

求助大虾。。
firsttianyi 2004-03-30
  • 打赏
  • 举报
回复
你的数据源没有配置好吗?
zhouguoyao 2004-03-30
  • 打赏
  • 举报
回复
一、jsp连接Oracle8/8i/9i数据库(用thin模式)
testoracle.jsp如下:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url="jdbc:oracle:thin:@localhost:1521:orcl";
//orcl为你的数据库的SID
String user="scott";
String password="tiger";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的第一个字段内容为:<%=rs.getString(1)%>
您的第二个字段内容为:<%=rs.getString(2)%>
<%}%>
<%out.print("数据库操作成功,恭喜你");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>

81,091

社区成员

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

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