怎样用java连接数据库sql server2008? 用jsp连接数据库

作者&投稿:乾咏 (若有异议请与网页底部的电邮联系)
jsp中怎么连接sql2008的数据库啊,~

例子程序为

register.jsp




用户注册



用户名:
密码:





insert.jsp

<%@ page language="java" import="java.sql.*,javax.sql.*"
pageEncoding="GB2312"%>






<%
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection conn = DriverManager
.getConnection(
"jdbc:sqlserver://127.0.0.1:1433;DatabaseName=TestDemo",
"sa", "2001sun");
PreparedStatement pstate = conn.prepareStatement("insert into [User](UName,UPass) values(?,?)");
pstate.setString(1,request.getParameter("name"));
pstate.setString(2,request.getParameter("pass"));
int result = pstate.executeUpdate();
if (result == 1) {
out.println("用户注册成功");
} else {
out.println("用户注册失败");
}
} catch (SQLException e) {
out.println(e);
}
%>



但1433端口号不可用,程序报错,com.microsoft.sqlserver.jdbc.SQLServerException: 到主机 的 TCP/IP 连接失败。 java.net.ConnectException: Connection refused: connect

网上查看,发现是1433端口号只是默认值,但其实是动态分配的,故必须手工指定才行。

指定方法:

1、开始--程序--sql2008--配置工作--sql server配置管理器。

2、sql server网络配置项--sql server 2008(5)协助,检查tip/ip项,必须是已经启动。

3、设置tcp/ip项,右键--属性,IP地址选项卡,IPALL的tcp动态端口项,检查是否有值,如没有可以设置为2609。

修改程序中的端口号,使用tcp动态端口项的内容。

再运行,正常。


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/WYZSC/archive/2011/03/11/6240405.aspx

我们刚好也在做。使用jdbcodbc连接吧;首先添加SQLServer数据源(控制面板->管理工具->数据源)数据源的名字最好要和本项目有关系。下面是一个简单的javabean实例,你在JSP页面调用它就可以啦!

public class DaoFromDB {
private String driverClassName="sun.jdbc.odbc.JdbcOdbcDriver";
private String databaseURL="jdbc:odbc:你数据源的名字";
private String userName="sa";
private String password="";
private Connection con;
public DaoFromDB(){
try{
Class.forName(driverClassName);
con=DriverManager.getConnection(databaseURL,userName,password);
}catch(Exception e){
e.printStackTrace();
}
}

public boolean addNotice(Notice not) {//not是一个Notice实例
PreparedStatement pstm=null;
try{
pstm=con.prepareStatement("insert into notice (title,content,user_id,ip_address)
values(?,?,?,?)");
pstm.setString(1,not.getTitle());
pstm.setString(2,not.getContent());
pstm.setInt(3,not.getUser().getId());
pstm.setString(4,not.getIp_address());
int i=pstm.executeUpdate();
if(i>0){
return true;
}
}catch(SQLException e){
e.printStackTrace();
}finally{
if(pstm!=null)try{pstm.close();}catch(SQLException e){}
}
return false;
}
}

// JDBC驱动
private static final String DRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
// 数据库用户名
private static final String USER = "sa";
// 数据库密码
private static final String PASSWORD = "sa";
// 数据库连接字符串
private static final String URL = "jdbc:sqlserver://localhost:1433;databaseName=School";

/**
* 打开数据库连接
*
* @return 返回数据库连接
*/
public Connection openConnection() {
try {
// 将给定类加载到Java虚拟机中
Class.forName(DRIVER);
// 加载驱动,并与数据库建立连接
return DriverManager.getConnection(URL, USER, PASSWORD);
} catch (Exception e) {
e.printStackTrace();
return null;
}
}

用JAVA怎么删除SQL表格中指定一行的信息
答:public static void main(String[] args) throws ClassNotFoundException, SQLException { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//加载SQL SERVER数据库 Connection con = DriverManager.getConnection("jdbc:odbc:tt", "sa", "www");//连接数据库 String sq="delete from t1 where userName=?";//删...

很急啊!JDBC 连接 sqlist数据库报错:java.sql.SQLException: out...
答:String filepath ="C:/Phplearn/inforim.db";Class.forName("org.sqlite.JDBC");// Class.forName("SQLite.JDBCDriver");conn = DriverManager.getConnection("jdbc:sqlite:/"+filepath);这句话报错 ,应该是你的filepath读取有问题,把inforim.db放到项目路径下吧,然后这么写Connection conn = D...

java 接口到底怎么用 ~?到底应该怎么实现?
答:1, 用接口作为系统与外界交互的窗口站在外界使用者(另一个系统)的角度,接口向使用者承诺系统能提供哪些服务,站在系统本身的角度,接口制定系统必须实现哪些服务,接口是系统中最高层次的抽象类型.通过接口交互可以提高两个系统之间的送耦合系统A通过系统B进行交互,是指系统A访问系统B时,把引用变量声明为系...

jsp如何连接mysql??急急急~!
答:D:\Program Files\Java\mysqlforjdbc\mysql-connector-java-3.1.8-bin.jar 配置这个的目的是让你的java应用程序找到连接mysql的驱动.配置完环境变量后还有很重要一步就是为JSP连接数据库配置驱动,这个其实很简单,就是把mysql-connector-java-3.1.8- bin.jar拷到某些文件夹里就行了,我在网上看...

Java调用Postgresql数据库里的函数.谁会呀?
答:不要用 executeUpdate(String sql)改用execute()方法。

用java编程将平方英尺转化为平方米
答:public class Test{ //1平方英尺(sq.ft)=0.092903平方米(㎡),BigDecimal用来保留精度。 public static double calc(double squareFoot){ double hex = 0.092903; BigDecimal multiplier1 = new BigDecimal(squareFoot); BigDecimal multiplier2 = new BigDecimal(hex); return multipl...

一个java编程的问题:将SqList类的insert()操作进行如下改进
答:这个我说一下思路吧,不懂你的sqlist。一种是正常插入,捕获特殊的异常,就是表已满的异常,然后执行扩展表空间的操作,再调用本方法。至于如何扩张为2倍,这个应该有api啊。另一种就是知道表容量,在插入之前判断表已经插入多少数据了,看看+1条数据是否会满,然后扩容。

java使用顺序表制作电子通讯录,实现添加,删除和排序的功能.
答:sq.insertData(sq.size()+1, data);} while (true) { System.out.println("---请选择操作---");System.out.print("1--插入;2--打印;3--删除;4--查找;5--结束");int choose = sc.nextInt();switch (choose){ case 1:System.out.print("插入位置:");int n = sc.nextInt...

在eclipse工程中加载com.mysql.jdbc.Driver出错
答:1、首先找到报错文件右键点开。2、右键找到Build Path,选择里面最底下的那个选项进入。3、接着我们可以发现有两个jar包报错了,那么这个时候多半是你的版本和jar包和他的代码不匹配,或者因为压缩问题造成的,那么你需要的是让他单独打包整个jar包,很简单能弄出来发给你。4、你直接选择好两个错误的包...

SQ数据库
答:回答:软件通常包含三个部分:部分的接口(例如:HTML,PHOTOSHOP,FLASH等),逻辑处理部分(如:JAVA,C#等),还有就是数据部分(如:SQL, Oracle等)。 SQL数据库是微软推出的一个软件,被称为SQL服务器。你可以买一些书籍在这方面的有关数据,看看就知道。