设为首页 收藏本站
查看: 506|回复: 0

[经验分享] Tomcat 6.0配置SQL Server2005数据源总结

[复制链接]

尚未签到

发表于 2017-2-5 09:38:39 | 显示全部楼层 |阅读模式
  配置流程:
(1) 将sqljdbc.jar包放到项目下(最好在Tomcat的lib目录下也放一份,很多时候报错很可能是Tomcat的lib目录下买有sqljdbc.jar包)
(2) 配置Tomcat 6.0\conf\context.xml,具体代码如下:
<?xml version='1.0' encoding='utf-8'?>
<Context>
<Resource name="jdbc/SQLServer2005"

       auth="Container" type="javax.sql.DataSource"  maxActive="100" 

       maxIdle="30" maxWait="10000"   username="sa"   password="123456"

      driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver" 

     url="jdbc:sqlserver://localhost:1433;DatabaseName=MasDB"/>

</Context>

注意:
这里的name、username、password、以及url中的端口号(默认为1433)都是需要你自己进行修改配置的
(3) 配置项目WEB-INF\web.xml,添加代码如下:
<resource-ref>
<description>SQL Server 2005 Connection</description>
<res-ref-name>jdbc/SQLServer2005</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
注意:
<res-ref-name>jdbc/SQLServer2005</res-ref-name>
即为Resource配置中的name属性

(4) 编写工具类
public class DBTool {
public static Connection getConn() {
Connection conn=null;
try {
Context initContext = new InitialContext();
Context envCtx=(Context)initContext.lookup("java:/comp/env");
DataSource ds = (DataSource) envCtx.lookup("jdbc/SQLServer2005");
conn = ds.getConnection();
} catch (NamingException e) {
e.printStackTrace();
return null;
} catch (SQLException e) {
e.printStackTrace();
return null;
}
return conn;
}
}

(5) Tomcat的数据源是无法在JVM中进行访问的,所以要进行测试是否连接成功,需要编写一个JSP页面,测试代码:
<%
    try{
Connection con=DBTool.getConn();
Statement st=con.createStatement();
ResultSet rs=st.executeQuery("select * from tbl_Operator");
while(rs.next()){
out.println(rs.getString(2));
}
rs.close();
st.close();
con.close();
     }catch(Exception e){
     e.printStackTrace();
     }
     %>
注意:
在每次进行完数据库操作后,请关闭和数据库的连接,否则有时候因为没有关闭连接,会产生一些错误。当访问第一该页面的时候没有报错,但是访问第二次的时候页面报错了,请检查与数据库的连接是否关闭了。

在配置数据源中遇到的一些错误:
错误1:
2011-4-4 20:01:35 com.microsoft.sqlserver.jdbc.AuthenticationJNI <clinit>
警告: Failed to load the sqljdbc_auth.dll
解决方法:
到http://d.download.csdn.net/down/1870028/liangjidian下载一个x86的sqljdbc_auth.dll文件,然后放到C:\Windows\system32目录下

错误2:
'用户 'sa' 登录失败。该用户与可信 SQL Server 连接无关联
解决方法:
(1) 检查SQL Server 2005中是否允许SQL Server和Window身份验证模式登陆
操作步骤:
1。在企业管理器中,展开"SQL Server组",鼠标右键点击SQL Server服务器的名称
2。选择"属性"
3。再选择"安全性"选项卡
4。在"身份验证"下,选择"SQL Server和 Windows"
5。确定,并重新启动SQL Server服务

(2) 检查TCP-IP连接是否打开,检查1433端口号是否打开
操作步骤:
1. 打开Microsoft SQL Server 2005-->配置工具-->SQL Server Configuration Manager,看到左侧的'SQL Server 2005 网络配置',点击'SQLEXPRESS的协议',检查右侧的'TCP/IP'协议的状态是否为已启用。
2. 双击'TCP/IP'协议,弹出属性对话框,切换到'IP地址'选项卡。展开'IPAll',检查'TCP端口'是否是Web应用中请求连接数据库的端口号,一般端口号默认为1433,若没有请填入。 


3. 对话框确定后会提示停止并重启相应服务

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-337653-1-1.html 上篇帖子: 在eclipse里debug tomcat中运行的war包 下篇帖子: 部署出现Deployment failure on Tomcat 6.x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表