try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
} catch (java.lang.ClassNotFoundException e) {
System.out.println("no pude encontrar el driver");
}; //fin trytry {
canal = DriverManager.getConnection("jdbc:odbc:mibase", " ", " "); instruccion =canal.createStatement(
ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE); rs= instruccion.executeQuery("Select * from tabla"); instruccion.close();
canal.close();
} catch (SQLException ex) {
System.out.println("error en sql");
}; //fin try catch}; //fin cargarclave()
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
} catch (java.lang.ClassNotFoundException e) {
System.out.println("no pude encontrar el driver");
}; //fin trytry {
canal = DriverManager.getConnection("jdbc:odbc:mibase", " ", " "); instruccion =canal.createStatement(
ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE); rs= instruccion.executeQuery("Select * from tabla"); instruccion.close();
canal.close();
} catch (SQLException ex) {
System.out.println("error en sql");
}; //fin try catch}; //fin cargarclave()
import com.mysql.jdbc.*;
import javax.sql.*;
import java.sql.*;
public class test_jdbc_pool {
private String serverName = "服务器地址" ;
private String databaseName = "数据库名称" ;
private String userName = "用户名" ;
private String password = "密码" ;
private int portNumber = 3306 ; MysqlDataSource ds; public test_jdbc_pool() {
try {
ds=new MysqlDataSource();
ds.setServerName(serverName) ;
ds.setPort(portNumber) ;
ds.setDatabaseName(databaseName) ;
ds.setUser(userName) ;
ds.setPassword(password) ;
} catch (Exception ex) {
System.err.println("错误: " + ex.getMessage()) ;
}
}
}数据源是jdbc 2.0 出现的,在javax.sql.*;下面,我察看过java的包文件
没有jdbc-odbc桥的数据源类祝你好运!
数据库连接对动态网站来说是最为重要的部分,Java中连接数据库的技术是JDBC(Java Database Connectivity)。很多数据库系统带有JDBC驱动程序,Java程序就通过JDBC驱动程序与数据库相连,执行查询、提取数据等等操作。Sun公司还开发了JDBC-ODBC bridge,用此技术Java程序就可以访问带有ODBC驱动程序的数据库,目前大多数数据库系统都带有ODBC驱动程序,所以Java程序能访问诸如Oracle、Sybase、MS SQL Server和MS Access等数据库。下面介绍如何用Access实现一个动态FAQ(常见问题及答案)网站。
首先建立一个Access数据库faq.mdb,其中的表faqs有字段id(自动增量型,并设为主关键字)、Subject(文字型,长度200)、Answer(备注型)。这个表中可以存放一些编程知识的常见问题及答案,如图4。
图 4 然后,在Control Panel(控制面板)的ODBC Datasource模块中加入System DSN,取名faq,并指向faq.mdb。
创建一个JavaBean,名为faq.java,并保存在\jswdk-1.0.1\webpages\WEB-INF\jsp\beans\test目录下。faq.java 的内容如下: package test;
import java.sql.*; public class faq {
String sDBDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
String sConnStr = "jdbc:odbc:faq";
Connection conn = null;
ResultSet rs = null; public faq() {
try {
Class.forName(sDBDriver);
}
catch(java.lang.ClassNotFoundException e) {
System.err.println("faq(): " + e.getMessage());
}
} public ResultSet executeQuery(String sql) {
rs = null;
try {
conn = DriverManager.getConnection(sConnStr);
Statement stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
}
catch(SQLException ex) {
System.err.println("aq.executeQuery: " + ex.getMessage());
}
return rs;
}
}
用上一节介绍的方法编译faq.java以后,在\jswdk-1.0.1\webpages\test目录下创建JSP文件faq.jsp,其内容如下: <html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>我的FAQ !</title>
</head>
<body>
<p><b>这是我的FAQ!</b></p>
<%@ page language="java" import="java.sql.*" %>
<jsp:useBean id="workM" scope="page" class="test.faq" />
<%
ResultSet RS = workM.executeQuery("SELECT * FROM faqs");
String tt;
while (RS.next()) {
tt = RS.getString("Answer");
out.print("<LI>" + RS.getString("Subject") + "</LI>");
out.print("<pre>" + tt + "</pre>");
}
RS.close();
%>
在浏览器的地址栏中键入http://localhost:8080/test/faq.jsp,faq.jsp调用JavaBean,从数据库中读出内容并输出,得到结果如图5所示. 限于篇幅,本文不能列举JSP-JavaBean-JDBC/ODBC-数据库的复杂例子,读者可以从本文最后所推荐的网址中找到并下载到数据库连接范例。
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");