- 浏览: 603369 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (448)
- 字符串相关 (16)
- Struts2页面显示 (15)
- Hibernate错误记录 (6)
- linux命令 (2)
- java项目测试 (5)
- 个人作品 (10)
- hibernate应用 (15)
- struts1 (7)
- 数据库(除了hibernate) (42)
- J2ME/WAP (37)
- servlet/jsp (49)
- java桌面应用+java综合 (14)
- 服务器配置,报错解决 (24)
- Myeclipse配置,抛错解决 (8)
- linux (18)
- JavaScript+jquery+ajax (45)
- div css 页面设计 (16)
- 互联网综合运营 (14)
- 编程工具类 (3)
- 论文 报告 文献 (14)
- PHP (26)
- struts2 (9)
- spring (1)
- 我的IT生活 (14)
- Resin (6)
- java项目记录 (14)
- https安全 (11)
- 支付技术 (3)
最新评论
-
yihaijunyxr:
很好呀,我好久没用iteye了,今天找出两个帐号(yihaij ...
c/c++的监听tmlisten启动缓慢解决 -
yihaijun:
好像这不算是技术博客,是工作博客
c/c++的监听tmlisten启动缓慢解决 -
ml365:
后来还优化了webservice的前置框架,不用cxf,用了另 ...
c/c++的监听tmlisten启动缓慢解决 -
Jayliuying:
有点晚哈 但是也支持一下 楼主
java相关论文的参考文献【转】 -
gqsunrise:
...
我是项目经理,我的项目管理日记【20120229】
用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的具体使用方法,请查阅相关详细资料。
发表评论
-
备份和还原数据库【转】
2011-09-01 17:03 894使用软件备份mysql数据库(以Navicat为例) 1)打 ... -
插入数据库类型为Date的方法
2011-07-20 17:12 1468控制端用的是webwork,表单类型text 传入后用stri ... -
MySQL错误1042-Can't get hostname for your address解决方法[原]
2011-07-14 14:07 4233本人最近在linux上部署php环境,在利用xampp部署后有 ... -
因为用class12.jar去做10i的驱动报错的解决【原创】
2011-07-13 18:35 827Connection refused(DESCRIPTION ... -
运用PowerDesigner建模和建表
2011-02-21 17:20 25761 建工作空间 File -- new model – ph ... -
Tomcat自带连接池应用【转】
2011-01-28 15:54 1057tomcat6.0连接mysql数据库连接池[原创]1 下载T ... -
spring jdbc queryForList出来的数据获取内幕!【体会】
2011-01-24 10:05 3374对于一般的hibernate查询,返回的往往是一个我们熟悉的l ... -
c3p0和jdbcTemplate配置oracle集群RAC记录【原】
2011-01-17 10:26 3695领导给了一串连接串给我,如下: PERAC = (DESC ... -
指定索引/*+INDEX(TABLE INDEX_NAME)*/等优化Oracle查询效率的总结
2010-12-15 21:00 4719在之前的项目有一个很痛苦的查询,用了太多的跨数据库访问,加上数 ... -
oracle跨数据库授权【原创】
2010-12-12 22:23 1758对于oracle数据库,某个用户跨数据库访问另一个用户的表,有 ... -
oracle远程连接查询【原创】
2010-12-12 22:21 893对于不在本库的表,需要练级查询的话,可以再oracle里面 ... -
转:深入浅出SQL之左连接、右连接和全连接
2010-12-12 22:10 793为了从两个或多个表中选出数据,我们一般使用表连接来实 ... -
左连接语句【原创】
2010-12-12 16:50 733语句如下: Query q = sessionFa ... -
存储过程详解【转载】
2010-12-12 11:20 857存储过程可以使得对数据库的管理、以及显示关于数据库及其用户信 ... -
为什么要使用存储过程及其书写方法【原创+转载】
2010-12-12 11:18 889你想要是要处理很多数据,全部交由java去处理的时候,从数据库 ... -
.Mdf文件如何导入到SqlServer数据库【转】
2010-12-12 11:11 1815任务:将PUBS重新导入可以这样用sp_attach_db ... -
proxool 链接sqlserver的配置【转】
2010-12-12 11:08 1155配置之前必须引入proxool-0.9.0RC1.jar包 ... -
一个比较规范的jdbc连接方法类
2010-12-11 22:40 779主要是留意里面的关闭连接释放资源的写法~ public ... -
转贴]如何正确利用Rownum来限制查询所返回的行数?
2010-12-11 11:29 689如何正确利用Rownum来限制查询所返回的行数? 软件环境: ... -
sql中limit用法【转】
2010-12-11 11:17 1845$query="select * from tb ...
相关推荐
java连接SQLServer数据库的JDBC驱动
酒店管理系统,连接SQLServer 数据库 C++/Qt酒店管理系统,连接SQLServer 数据库 C++/Qt酒店管理系统,连接SQLServer 数据库 C++/Qt酒店管理系统,连接SQLServer 数据库 C++/Qt酒店管理系统,连接SQLServer 数据库 ...
java连接sql server数据库增删改查
自动化 wincc连接sql server数据库脚本,不需要wincc授权,直连sql server数据库。解决归档导出问题
VBA连接SQLSERVER数据库实例
能过MFC连接SQL Server数据库,也可以远程进行连接,但是要加把server=改成ip,端口
如何连接SQL Server数据库(Java版)
java连接SQLserver数据库以及ACCESS数据库实例,简单化修改即可使用,方便数据连接。
Java 连接sql server 数据库时的问题
C++使用ADO连接SQL Server数据库源代码,适合初学者,欢迎下载!可以在这基础上重新进行封装使用
zktime5.0考勤机连接sqlserver数据库,创建及连接方法.pdf
java连接sql server数据库方法,轻松学会如何连接sql server。
How to connect a Siemens S7 1200 PLC to a SQL Server Database Siemens S7 1200 PLC连接SQLSERVER数据库
Java连接SqlServer数据库驱动jar包。msbase.jar + mssqlserver.jar + msutil.jar
java 连接sqlserver数据库查询,并分页显示
通过ORACLE通用连接访问SQLServer数据库的方法
此doc文档详细介绍了Java程序通过JDBC连接SQLServer2000数据库的全过程和连接代码
基于Java和SQL Server数据库的简易图书馆管理系统,优秀数据库课设! 基于Java和SQL Server数据库的简易图书馆管理系统,优秀数据库课设! 基于Java和SQL Server数据库的简易图书馆管理系统,优秀数据库课设! 基于...
C#连接SQLServer数据库,实例中包括增删改等