<%@ page contentType="text/htmlcharset=gb2312"%>
<%@ page import="java.sql.*" %>
<%@ page import="java.io.*" %>
<%@ page import="java.util.*" %>
<html>
<head>
<title>Oracle数据库连接测试</title>
</head>
<body>
<%
java.sql.Connection lConn = null
java.sql.Statement lStat = null
java.sql.ResultSet lRs = null
try
{
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver())
String lUrl = "java:oracle:thin:@localhost:1521:orcl"
//java:oracle:thin: 表示使用的是thin驱动
//@srv:1521: 表示使用的服务器的名字和端口号
//dbname: 表示数据库的SID
lConn = DriverManager.getConnection(lUrl,"system","rg")
lStat = lConn.createStatement()
//创建表
String createTableCoffees = "CREATE TABLE COFFEES " +
"(COF_NAME VARCHAR(32), SUP_ID INTEGER, PRICE FLOAT, " +
"SALES INTEGER, TOTAL INTEGER)"
lStat.executeUpdate(createTableCoffees)
//插入数据
lStat.executeUpdate("INSERT INTO COFFEES VALUES ('Colombian', 101, 7.99, 0, 0)")
lStat.executeUpdate("INSERT INTO COFFEES VALUES ('Espresso', 150, 9.99, 0, 0)")
lStat.executeUpdate("INSERT INTO COFFEES VALUES ('Colombian_Decaf', 101, 8.99, 0, 0)")
lStat.executeUpdate("INSERT INTO COFFEES VALUES ('French_Roast_Decaf', 49, 9.99, 0, 0)")
//查询结果
lRs = lStat.executeQuery("select * from COFFEES")
//显示结果
out.println("<table>")
while (lRs.next()) {
out.print("<tr><td>" + lRs.getString(1))
//COF_NAME
out.print( "<td>" + lRs.getInt(2))
//SUP_ID
out.print( "<td>" + lRs.getFloat(3))
//PRICE
out.print( "<td>" + lRs.getInt(4))
//SALES
out.println( "<td>" + lRs.getInt(5))
//TOTAL
}
out.println("</table>")
lRs.close()
lStat.close()
} catch (SQLException e) {
throw new ServletException(e)
} finally {
try {
if (lConn != null)
lConn.close()
} catch (SQLException e) {
}
}
%>
</body>
</html>
写第一个连接Oracle的JSP程序test.jsp1、连入SQL*Plus
以system/manager用户登录,
SQL>conn system/manager
创建新的用户:如user1/pass1,赋予connect,resource权限。
SQL>grant connect,resource to user1 identified by pass1
SQL>conn user1/pass1
SQL>create table test(a number,b char(10))
SQL>insert into test values(1,"一")
SQL>insert into test values(2,"二")
SQL>insert into test values(3,"三")
SQL>commit
SQL>select * from test
A B
---------- ----------
1 一
2 二
3 三
2、配置ODBC(在服务器端设置)
开始->设置->控制面板->管理工具->数据源 (ODBC)->系统DSN->添加->
选择“Oracle ODBC Driver”->完成->
Data Source Name:test名字随便取,好记就行,如:test
Service Name:oradb Oracle数据库的实例名,本例:oradb,一般Oracle默认安装为ORCL
UserID:user1 Oracle用户名,本例:user1
按“OK”->按“确定”退出
3、在C:\JBuilder4\tomcat\webapps\test下创建test.jsp,用notebook编辑,输入以下代码
<!--首先导入一些必要的packages-->
<%@ page info="database handler"%>
<%@ page import="java.io.*"%>
<%@ page import="java.util.*"%>
<!--告诉编译器使用SQL包-->
<%@ page import="java.sql.*"%>
<%@ page import="javax.servlet.*"%>
<%@ page import="javax.servlet.http.*"%>
<%
//以try开始
try
{
Connection con
Statement stmt
ResultSet rs
//加载驱动程序,下面的代码为加载JDBD-ODBC驱动程序
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver")
//用适当的驱动程序连接到数据库,test"是系统dsn名
String url="jdbc:odbc:test"
//建立连接,类似于ASP中的创建数据库联接
con=DriverManager.getConnection(url, "user1", "pass1")
//创建一个JDBC声明
stmt = con.createStatement()
//增加新记录
stmt.executeUpdate("INSERT INTO test (a,b) VALUES (1,"2")")
//查询记录
rs = stmt.executeQuery("SELECT a,b from test")
//输出查询结果
out.println("<table border=1 width=400>")
while (rs.next())
{
String col1 = rs.getString(1)
String col2 = rs.getString(2)
//打印所显示的数据
out.println("<tr><td>"+col1+"</td><td>"+col2+"</td></tr>")
}
out.println("</table>")
}
//如果加载时出错,给出相应的错误信息
catch (Exception e) {}
%>
4、打开一个浏览器窗口,输入以下地址来查看运行结果
http://localhost:8080/test/test.jsp
<%@page contentType="text/htmlcharset=gb2312"%><%@page import="java.sql.*"%>
<HTML><BODY>
<hr align="center" width="55%" color="#991111" size="5"/>
<%
Connection conn = null
PreparedStatement stmt = null
ResultSet rs = null
request.setCharacterEncoding("GBK")
try{
Class.forName("oracle.jdbc.driver.OracleDriver")
}
catch(ClassNotFoundException ce){
out.println(ce.getMessage())
}
try{
String url="jdbc:oracle:thin:@localhost:1521:orcl"
conn=DriverManager.getConnection(url,"scott","tiger")
stmt=conn.prepareStatement("select * from emp")
rs=stmt.executeQuery()
out.print("<TABLE BORDER='1' width='55%' cellpadding='3' align=center>")
out.print("<TR><TD>"+"<b>Empno</b>"+"</TD>")
out.print("<TD>"+"<b>Ename</b>"+"</TD>")
out.print("<TD>"+"<b>Job</b>"+"</TD>")
out.print("<TD>"+"<b>Mgr</b>"+"</TD>")
out.print("<TD>"+"<b>hiredate</b>"+"</TD>")
out.print("<TD align=center>"+"<b>Sal</b>"+"</TD>")
out.print("<TD>"+"<b>Comm</b>"+"</TD>")
out.print("<TD>"+"<b>Deptno</b>"+"</TD></TR>")
while(rs.next()){
out.print("<TR><TD>"+rs.getString(1)+"</TD>")
out.print("<TD>"+rs.getString(2)+"</TD>")
out.print("<TD >"+rs.getString(3)+"</TD>")
out.print("<TD>"+rs.getString(4)+"</TD>")
out.print("<TD>"+rs.getString(5)+"</TD>")
out.print("<TD>"+rs.getString(6)+"</TD>")
out.print("<TD>"+rs.getString(7)+"</TD>")
out.print("<TD>"+rs.getString(8)+"</TD></TR>")
}
out.print("</TABLE>")
rs.close()
stmt.close()
conn.close()
}
catch(Exception e){
System.out.println(e.getMessage())
}
%>
</BODY></HTML>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)