JDBC的数据库连接问题 送分

haibozhang 2003-03-28 08:27:33
我机子是win2000+Tomcat 4.18 + jdk 1.3
为了试验jdbc的连接,现写了下面一个小代码,但是总是说 [Microsoft][ODBC 驱动程序 管理器] 未发现数据源名称并且未指定默认驱动程序等等,不知道为何,请各位帮助,我刚学Jsp,现在都急死我了!

<%@ page language="java" %>
<%@ page import="java.util.*"%>
<%@ page import="java.sql.*"%>

<%
try
{

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url="jdbc:odbc:test";

Connection con=DriverManager.getConnection(url,"zhb","sa");

PreparedStatement stmt = con.prepareStatement("SELECT a,b from test");

ResultSet rs = stmt.executeQuery();

while (rs.next())
{
String col1 = rs.getString(1);
String col2 = rs.getString(2);

out.println(col1);
out.println("<br >");
out.println(col2);

}

}catch (Exception e) {
out.println(e);
}
%>

请帮助,我在线等大家,也可以 QQ 5575314
...全文
26 点赞 收藏 12
写回复
12 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
foolbirds 2003-03-28
数据源连接你的数据库,你的test应该是数据源的名字,如果是数据库的名字,肯定是错的。
回复
wiwi5888 2003-03-28
看来不用再说啦
回复
haibozhang 2003-03-28
缺jdbc的驱动包吗? 不是说那个包含在java.sql.* 包里面吗? 还需要单独安装吗? 如何安装?从那里获得呢?急!
回复
flyycyu 2003-03-28
缺驱动包!
回复
haibozhang 2003-03-28
谢谢zpwly(不能让自己在海辉堕落下去) 的回复,可是我发现你所说的那些连接好像是不通过ODBC的,而我那个是通过ODBC连接的,并且test的数据源已经建立并测试连接成功,为什么还不对那!
回复
zxhong 2003-03-28
控制面版->管理工具->数据源odbc->选择系统dsn->添加->.....->选择你要连接的数据库名->...->测试成功
String url="jdbc:odbc:test"; //test为你的数据源名,不是数据库名
回复
haibozhang 2003-03-28
我用的sql server 数据源我已经建立好了! 测试连接也正常!
回复
zpwly 2003-03-28
同意楼上的:
在给你个例子(不知道你用什么数据库,都给你了):
jsp连接数据库大全:
一、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>

二、jsp连接Sql Server7.0/2000数据库

testsqlserver.jsp如下:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";
//pubs为你的数据库的
String user="sa";
String password="";
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>

三、jsp连接DB2数据库

testdb2.jsp如下:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("com.ibm.db2.jdbc.app.DB2Driver ").newInstance();
String url="jdbc:db2://localhost:5000/sample";
//sample为你的数据库名
String user="admin";
String password="";
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>

四、jsp连接Informix数据库

testinformix.jsp如下:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("com.informix.jdbc.IfxDriver").newInstance();
String url =
"jdbc:informix-sqli://123.45.67.89:1533/testDB:INFORMIXSERVER=myserver;
user=testuser;password=testpassword";
//testDB为你的数据库名
Connection conn= DriverManager.getConnection(url);
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>

五、jsp连接Sybase数据库

testmysql.jsp如下:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("com.sybase.jdbc.SybDriver").newInstance();
String url =" jdbc:sybase:Tds:localhost:5007/tsdata";
//tsdata为你的数据库名
Properties sysProps = System.getProperties();
SysProps.put("user","userid");
SysProps.put("password","user_password");
Connection conn= DriverManager.getConnection(url, SysProps);
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>

六、jsp连接MySQL数据库

testmysql.jsp如下:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("org.gjt.mm.mysql.Driver").newInstance();
String url ="jdbc:mysql://localhost/softforum?user=soft&password=soft1234&useUnicode=true&characterEncoding=8859_1"
//testDB为你的数据库名
Connection conn= DriverManager.getConnection(url);
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>

七、jsp连接PostgreSQL数据库

testmysql.jsp如下:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("org.postgresql.Driver").newInstance();
String url ="jdbc:postgresql://localhost/soft"
//soft为你的数据库名
String user="myuser";
String password="mypassword";
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>

回复
kreven 2003-03-28
你用access吗?需先建ODBC数据源
回复
peacock_king 2003-03-28
你的数据源名是test?
那么这个数据源你建立好了?如果没有建立,假设你用的是windows,你要进入windows控制面板,新建odbc数据源。
方法如下:
odbc数据源->系统DSN->添加->输入数据源名->选择(就是test的文件路径)->确定

如果你用Access创建数据库,也可以不使用系统数据源,直接这样:
DriverManager.getConnection("jdbc:odbc:MS Access Database;DBQ=F:\\jsp\\db1.MDB");
回复
totodo 2003-03-28
控制面板, 计算机管理, ODBC
回复
freeever 2003-03-28
先建个ODBC数据源
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2003-03-28 08:27
社区公告
暂无公告