sql server 数据库连接问题

nihaomawang 2003-05-10 01:21:03
当sql server数据库建好后,怎么在java中调用,应该选用
哪个驱动程序,以及怎么配置问题,都请你指教下。先谢了!
...全文
47 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wafd 2003-05-10
  • 打赏
  • 举报
回复
个人认为在Jsp中直接调用或连接数据库是非常不好的方法,如果入门的人姑且看之,但不可用之。
zhaoao 2003-05-10
  • 打赏
  • 举报
回复
关注!
fcpanda 2003-05-10
  • 打赏
  • 举报
回复
与数据库建立连接的标准方法是调用 DriverManager.getConnection 方法。该方法接受含有某个 URL 的字符串。DriverManager 类(即所谓的 JDBC 管理层)将尝试找到可与那个 URL 所代表的数据库进行连接的驱动程序。DriverManager 类存有已注册的 Driver 类的清单。当调用方法 getConnection 时,它将检查清单中的每个驱动程序,直到找到可与 URL 中指定的数据库进行连接的驱动程序为止。Driver 的方法 connect 使用这个 URL 来建立实际的连接。
用户可绕过 JDBC 管理层直接调用 Driver 方法。这在以下特殊情况下将很有用:当两个驱动器可同时连接到数据库中,而用户需要明确地选用其中特定的驱动器。但一般情况下,让 DriverManager 类处理打开连接这种事将更为简单。
创建删除表、表中的行,以及对数据库表的查询都是对数据库的基本操作,对于用java实现这些操作的根本是SQL本身,所以对SQL的熟练掌握是关键,可以查询SQL的相关技术手册获得详细的知识,在此不再赘述。

1. 连接到Oracle数据库
本例使用一个Oracle JDBC驱动器建立与127.0.0.1:1521的名为mydatabase的数据库。
Connection connection=null;
try{
//Load the JDBC driver
String driverName=”oracle.jdbc.driver.OracleDriver”;
Class.forName(driverName);
String serverName=”127.0.0.1” //Create connection
String portNumber=”1521”
String sid=”mydatabase”;
String url=”jdbc:oracle:thin@”+serverName+”:”+portNumber+”:”+sid;
String username=”username”;
String password=”password”;
Connection=DriverManager.getConnection(url,username,password);
}catch(ClassNotFoundException e){
//Could not find database driver
}catch(SQLException e){
//Could not connect to the database
}
2.连接到SQL Server数据库
本例使用一个NetDirect JDBC驱动器建立到一个SQL Server数据库的连接。
Connection connection=null;
try{
String driverName=”com.jnetdirect.jsql.JSQLDriver”; /NetDirect JDBC driver
String serverName=”127.0.0.1” //Create connection
String portNumber=”1433”
String mydatabase=serverName+”:”+portNumber;
String url=”jdbc: JSQLConnect://”+mydatabase;
String username=”username”;
String password=”password”;
//Load the JDBC driver
Class.forName(driverName);
Connection=DriverManager.getConnection(url,username,password);
}catch(ClassNotFoundException e){
//Could not find database driver
}catch(SQLException e){
//Could not connect to the database
}
希偌 2003-05-10
  • 打赏
  • 举报
回复
驱动桥通常都不能满足实际应用,所以建议用JDBC
sqlserver的JDBC API在microsoft的官方网站上可以免费获得
如果你没有使用IDE则用下面的方法连接MSSQL数据库
假如在SQLServer里的库名为test,表名也是test
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test";
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()) {
System.out.println("第一个字段:"+rs.getString(1));
}
justtest 2003-05-10
  • 打赏
  • 举报
回复
简单一点用JDBC-ODBC桥

简单点随便找了一个文章看看:)

在JSP中访问MS SQL Server数据库

下面介绍如何用SQL Server实现一个动态FAQ(常见问题及答案)网站。
  首先建立一个数据库faq,其中的表faqs有字段id(int,自动增量,并设为主关键字)、subject(varchar,200)、answers(text)。这个表中可以存放一些编程知识的常见问题及答案。然后,在Control Panel(控制面板)的ODBC Datasource模块中加入System DSN,取名faq,并指向faq数据库。创建一个JavaBean,名为faq.java,并保存在tomcat\webapps\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以后,在jC:\JBuilder4\tomcat\webapps\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,从数据库中读出内容并输出,

62,614

社区成员

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

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