`

如何连接SQL Server数据库(Java版)【转】

阅读更多

用Java连接SQL Server2000数据库有多种方法,下面介绍其中最常用的两种(通过JDBC驱动连接数据库)。

1. 通过Microsoft的JDBC驱动连接。此JDBC驱动共有三个文件,分别是mssqlserver.jar、msutil.jar和msbase.jar,可以到微软的网站去下载(://www.microsoft.com/downloads/details.aspx?FamilyId=07287B11-0502-461A-B138-2AA54BFDC03A&displaylang=en),如果你下载的是setup.exe,还需要安装它,安装后会生成上面的三个jar文件。此JDBC驱动实现了 JDBC 2.0。
驱动程序名称:com.microsoft.jdbc.sqlserver.SQLServerDriver(即下面的classforname
数据库连接URL:jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=dbname(即下面的url

2. 通过JTDS JDBC Driver连接SQL Server数据库,此驱动的文件名为jtds-1.2.jar,下载路径为(http://sourceforge.net/project/showfiles.php?group_id=33291),此驱动支持Microsoft SQL Server (6.5, 7.0, 2000 和2005) 和Sybase,并且实现了JDBC3.0,是免费的。
驱动程序名称:net.sourceforge.jtds.jdbc.Driver(即下面的classforname
数据库连接URL:jdbc:jtds:sqlserver://localhost:1433/dbname(即下面的url

JDBC连接SQL Server数据库的Bean代码网上大把的有,下面摘录其中的一部分:(请将localhost和1433改成你实际应用中的SQL Server服务器地址和端口号,dbname改成你实际的数据库名

import java.sql.*;
public class DatabaseConn {

private Connection conn;
private Statement stmt;
private String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=dbname";
private String classforname = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
private String uid = "sa";
private String pwd = "password";

public DatabaseConn(){}

/**
* <p>通过Microsoft JDBC驱动获得数据库连接</p>
* @return Connection
* @exception ClassNotFoundException, SQLException
*/
public Connection getConnection()
{
   try
   {
    Class.forName(classforname);
    if (conn == null || conn.isClosed())
     conn = DriverManager.getConnection( url, uid, pwd);
   }
   catch (ClassNotFoundException ex)
  
   catch (SQLException ex)
  
   return conn;  
}

}

当然,在做上述工作之前,你得先检查自己的SQL Server设置是否有问题,步骤如下:

首先打开“命令行窗口”,也就是MS-Dos窗口,输入
telnet localhost 1433 (当然,用SQL Server所在的服务器地址替代localhost,端口改为SQL Server的实际端口,默认是1433)

如果成功了,表明你的SQL Server是可以连上的,如果没成功(一般是对于Win2003或者WinXP SP2),请进入控制面板,打开“管理工具”中的“服务”,启动“SQLSERVERAGENT”服务(当然,你也可以打上SQL Server的SP3补丁包),再继续上面的操作,应该会成功的。

其次,检查你的用户名和密码是否能登陆SQL Server服务器,当然,最直接的办法就是打开SQL Server的“查询分析器”,输入用户名和密码,点击确定

如果成功了,表明你的SQL Server登陆设置没问题,如果失败了,请打开SQL Server的“企业管理器”,在你注册的SQL Server服务器上(也就是左边的“SQL Server组”下面的那东东)也就是点击右键,选择“属性”,在“SQL Server (属性) 配置”对话框中选择“安全性”,将身份验证设为“SQL Server和Windows(S)”,再用查询分析器测试一次,如果还连接不上,就去检查你的用户名和密码是否有误。重复测试,直至成功。

如果在JSP中应用连接,当然,除了直接用JDBC外,大伙最热衷于的莫过于连接池(Pool)了,下面着重介绍一下连接池的几种用法。

为了方便,先设定JSP容器为Tomcat,因为大家用得比较多

1. 全局配置(Tomcat里的任何Web应用都能使用该配置的连接池):在server.xml里面配置连接池,server.xml文件位于 $TOMCAT_HOME$/conf/目录下,打开它,找到</GlobalNamingResources>,并在这一行的前面插入如下代码:

<Resource
    name="jdbc/poolName"
    auth="Container"
    type="javax.sql.DataSource"
    maxActive="100"
    maxIdle="30"
    maxWait="10000"
    username="sa"
    password="password"
    driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
    url="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=dbname"/>

注意:name为连接池的全局JNDI全称,username为password为数据库的连接用户名和密码,driverClassName是数据库驱动名称,url是数据库连接字符串。请按照你的实际配置进行修改。
配置到这里还没有算完成,下面要在context.xml里面设置全局访问的名称,设置如下:

找到</Context>,并在这一行的前面插入如下代码:
<ResourceLink global="jdbc/poolName" name="jdbc/poolName" type="javax.sql.DataSource"/>

2. 局部配置:在$TOMCAT_HOME$/conf/Catalina/localhost/目录下新建一个xml文件,该xml文件要与你发布的Web应用目录名称相同,假如为webappname.xml,加入以下内容(配置Tomcat的外部虚拟目录也是在这里搞掂的,哈!)

<Context path="/webappname" docBase="d:/webappname" debug="0" reloadable="true" crossContext="true">
<Resource
    name="jdbc/poolName"
    auth="Container"
    type="javax.sql.DataSource"
    maxActive="100"
    maxIdle="30"
    maxWait="10000"
    username="sa"
    password="password"
    driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
    url="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=dbname"/>
<ResourceLink global="jdbc/poolName" name="jdbc/poolName" type="javax.sql.DataSource"/>
</Context>

对于前面两种方法,调用连接池代码如下:(其中com.yeno.util.Debug的Debug.log()方法主要用于打印调试信息,可以用System.out.println()代替)

import java.sql.*;
import javax.sql.DataSource;
import javax.naming.*;
import com.yeno.util.Debug;
/**
* <p>数据库操作管理类,只实现数据库的连接,关闭和事务处理</p>
* @Aurhor Yeno.hhr
* Create Date 2005-12-9
*/
public class DataPool {

public DataPool(){}

/**
     * <p>通过Tomcat连接池取得数据库连接</p>
     * @param no
     * @return Connection 数据库连接
     * @exception NamingException,SQLException,Exception
     */
public Connection getConnect()
{
   Connection conn = null;
   try
   {
    Context intitCtx = new InitialContext();
    Context envCtx = (Context)intitCtx.lookup("java:comp/env");
    DataSource ds = (DataSource)envCtx.lookup("jdbc/poolName");
    conn = ds.getConnection();
   }
   catch(NamingException nex)
   {
    Debug.log(this,"getConnect()","No correct environment!");
   }
   catch(SQLException sqlex)
   {
    Debug.log(this,"getConnect()","Can't get connection!");
   }
   return conn;
}

}

在使用上述代码之前,必须保证JDBC驱动的相关JAR文件(Microsoft为mssqlserver.jar、msutil.jar和msbase.jar,JTDS为jtds-1.2.jar)已正确配置,可以将相关JAR文件拷贝到$TOMCAT_HOME$/common/lib/目录下,也可以拷贝到$WEB_ROOT$/WEB-INF/lib/目录下

还可以用注入方式来调用连接池,即在Hibernate的配置文件hibernate.cfg.xml中调用,在JSP容器中配置好连接池以后,再在Hibernate的配置文件中调用系统的连接池设置,关键代码摘录如下:

<session-factory>
<!--
<property name="jndi.class"></property>
<property name="jndi.url"></property>
-->
<property name="connection.datasource">java:comp/env/jdbc/poolName</property>
<property name="show_sql">false</property>
<property name="dialect">org.hibernate.dialect.SQLServerDialect</property>

</session-factory>

Hibernate的具体使用方法,请查阅相关详细资料。

 

分享到:
评论

相关推荐

    MFC连接SQL Server数据库

    MFC连接SQL Server数据库 MFC(Microsoft Foundation Classes)是一种基于C++的应用程序框架,广泛应用于Windows平台的桌面应用程序开发。其中一个重要的应用场景是连接数据库,以便进行数据存储和检索。本文将详细...

    navicatepremuim连接sqlserver数据库遇到问题及解决方法

    Navicat Premium 连接 SQL Server 数据库遇到问题及解决方法 Navicat Premium 是一个功能强大且功能丰富的数据库管理工具,支持多种数据库管理系统,包括 SQL Server、MySQL、Oracle 等。但是在使用 Navicat ...

    酒店管理系统,连接SQLServer 数据库 C++/Qt

    酒店管理系统,连接SQLServer 数据库 C++/Qt酒店管理系统,连接SQLServer 数据库 C++/Qt酒店管理系统,连接SQLServer 数据库 C++/Qt酒店管理系统,连接SQLServer 数据库 C++/Qt酒店管理系统,连接SQLServer 数据库 ...

    java 连接sql server数据库

    Java 连接 SQL Server 数据库 Java 连接 SQL Server 数据库是 Java 开发中一个非常重要的步骤,学习 Java 首先应该学会怎么样连接数据库。下面是 Java 连接 SQL Server 2000 的基本方法和心得。 下载SQL Server ...

    Java连接SqlServer数据库驱动jar包

    在Java编程中,连接SQL Server数据库通常需要特定的驱动程序,这些驱动程序以JAR(Java Archive)文件的形式存在。本话题将详细讲解如何使用Java连接SQL Server数据库所需的驱动jar包,以及它们的功能。 首先,Java...

    java连接sql server数据库增删改查

    在Java编程中,连接SQL Server数据库进行数据的增删改查是常见的操作。这涉及到Java的JDBC(Java Database Connectivity)技术,它提供了一种标准的API,使得Java程序能够与各种类型的数据库进行交互。本篇文章将...

    java 连接sqlserver数据库查询,并分页显示

    在Java编程中,连接SQL Server数据库并执行查询是常见的任务,尤其当涉及到大量数据时,分页显示就显得尤为重要。本篇文章将详细讲解如何使用Java连接SQL Server数据库,执行查询语句以及实现分页显示。 首先,我们...

    自动化 wincc连接sql server数据库脚本

    自动化 wincc连接sql server数据库脚本,不需要wincc授权,直连sql server数据库。解决归档导出问题

    如何查看sql server数据库连接数

    查看 SQL Server 数据库连接数的多种方法 SQL Server 数据库连接数是一个重要的性能指标,它可以帮助数据库管理员了解当前数据库的工作负载和性能。查看数据库连接数有多种方法,本文将介绍四种不同的方法来查看 ...

    用Java连接SQL Server数据库的多种方法

    用Java连接SQL Server数据库的多种方法 Java语言可以通过多种方式连接SQL Server数据库,其中最常用的两种方法是通过Microsoft的JDBC驱动连接和通过JTDS JDBC Driver连接。 首先,通过Microsoft的JDBC驱动连接SQL ...

    C++使用ADO连接SQL Server数据库源代码

    以下将详细讲解如何使用C++通过ADO连接到SQL Server数据库,并基于提供的"ConnDatabase"源代码进行学习。 1. ADO简介:ADO是微软的组件对象模型(COM)接口,它提供了一种简单的方式来访问各种数据源,包括SQL ...

    java连接sqlserver数据库示例以及jar包

    在Java编程中,连接SQL Server数据库通常涉及到JDBC(Java Database Connectivity)技术。JDBC是Java平台中的一个标准API,它允许Java程序与各种类型的数据库进行交互。在本示例中,我们将深入探讨如何使用Java连接...

    zktime5.0考勤机连接sqlserver数据库,创建及连接方法.pdf

    zktime5.0考勤机连接sqlserver数据库,创建及连接方法 1. 数据库管理系统(DBMS):sqlserver是微软公司开发的一种关系数据库管理系统(RDBMS),用于存储、处理和保护数据。 2. 数据库创建:在sqlserver中,创建...

    java连接SQLserver数据库以及ACCESS数据库实例

    java连接SQLserver数据库以及ACCESS数据库实例,简单化修改即可使用,方便数据连接。

    C#远程连接SQLserver 数据库

    在远程连接SQL Server数据库时,关键在于构建正确的连接字符串。例如,在上述代码中,连接字符串"server=.;database=" + textBox1.Text.Trim() + ";Integrated Security=SSPI;"指定了服务器(本机,即"."),数据库...

    java jdk1.8 连接sqlserver数据库使用的扩展jar包-sqljdbc42

    Java JDK 1.8 连接SQL Server数据库时,需要用到特定的驱动程序,这个驱动程序通常以JAR包的形式提供。在本例中,我们关注的JAR包是`sqljdbc42.jar`,它是微软官方提供的SQL Server JDBC驱动的一个版本,特别针对JDK...

    Java程序通过JDBC连接SQLServer2000数据库全解.doc

    ### Java程序通过JDBC连接SQLServer2000数据库全解 #### 一、环境搭建与配置 在深入了解如何利用Java程序通过JDBC连接SQLServer2000之前,我们首先需要确保具备以下条件: 1. **安装SQL Server 2000**: 首先需要...

    sqlserver数据库SSH配置1

    在 Java 应用程序中,需要使用 JDBC 驱动来连接 SQLServer 数据库。JDBC 驱动需要配置 SSH tunnelling,以便通过 SSH 服务器连接数据库。 4. 配置 Hibernate Hibernate 是一个流行的 ORM 框架,用于将 Java 对象...

    C++连接SQLSERVER数据库.cpp

    C++连接SQL+SERVER数据库.cpp

Global site tag (gtag.js) - Google Analytics