java连接ms sql server各类问题解析
首先先来说下使用微软自己开发的架包进行ms sql server数据库的连接时,sql 2000与sql 2005的连接方式略有不同;
1.首先驱动不一样,sql 2000的连接驱动包有三个,分别是:msbase.jar、mssqlserver.jar、msutil.jar;
而sql 2005的连接驱动包只有一个为:sqljdbc.jar;
2.由于连接的驱动不一样,自然而然连接的方式也是不一样的;
sql 2000:
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
URL = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Demo";
sql 2005:
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
URL = "jdbc:sqlserver://localhost:1433;DatabaseName=Demo";
下面来说一个比较通用的方式:jtds-1.2.jar包,这个包是第三方开源组织提供,使用这个架包进行ms sql server数据库的连接,你可以不必担心不同版本数据库间的差异了;
统一连接方式为:
Class.forName("net.sourceforge.jtds.jdbc.Driver").newInstance();
String url="jdbc:jtds:sqlserver://localhost:1433;DatabaseName=Demo";
下面我还是来说下关于连接数据库要注意的几个方面:
1.如果你使用的sql server 2000,那么你在使用jdbc进行数据库的连接时还必须要安装sp3补丁;如果使用sql server 2005就不必了;
sql server 2000无法打开1433端口
可通过运行中输入netstat -a命令来查看已开启的端口,看看是否有1433端口开启(默认)
1.如果你是win2003,那么一定要安装sql的补丁sp3a
检查你的SQL有没有打补丁,没有的话要打上补丁,检查的方法是在查询分析器中运行:
select @@version
如果出来的版本号是8.00.760以下,则表明你未安装sp3的补丁,要装上.
SQL补丁下载:
全部补丁的位置
http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=9032f608-160a-4537-a2b6-4cb265b80766
注意下载后,执行的时候是解压,要在解压后的目录中执行setup.bat才是真正的安装
2.如果你上面的已经确保无误了但还是连接不上数据库,那么我们来一一检查你连接的要素:
a.首先查看连接语句是否正确,这个这里就不说了,大家如果还有问题,可以看http://www.cnblogs.com/shenliang123/archive/2012/04/24/2467702.html
也可以用下面的main函数进行测试;将上面的数据名,端口号,密码等改成自己的(这里是采用jtds包进行连接的)

public static void main(String[] args) {
try {
Class.forName("net.sourceforge.jtds.jdbc.Driver").newInstance();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
String url="jdbc:jtds:sqlserver://localhost:9433;DatabaseName=SportsUnion2";
String user="sa";
String psw="123@sports";
Connection conn=null;
try {
conn=DriverManager.getConnection(url,user,psw);
System.out.println("连接数据库成功");
} catch (SQLException e) {
System.out.println("连接数据库失败");
e.printStackTrace();
}

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
b.查看你数据库的登录方式(我们一般是要选择登录方式为SQL Server和Windows 身份验证模式):
在打开的数据库视图中选择服务器(如上图)------>右键属性----->在出现的视图中选择安全性----->选择SQL Server和Windows 身份验证模式------>确定
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
c.设置密码:在你的数据库视图中点击安全性---->出现的二级菜单中点击sa---->在出现的视图中重置下sa的密码:
然后为保险起见,你可以退出登录,然后重新打开登录,使用sa进行登录,如果能登录表示密码设置成功并且sa是可用的。
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
d.配置端口号:
sql 2000:开始---->所有程序----->Microsoft SQL Server----->服务器网络使用工具 点击----->
----->选中TCP/IP----->点击属性----->在出现的属性窗口中设置自己想要的端口号,默认为1433(最好不要默认的,容易受到攻击)
然后将服务器进行重启
sql 2005:
开始---->所有程序----->Microsoft SQL Server 2005----->配置工具----->SQL Server Configuration Manager----->SQL Server 2005 网络配置
------>MSSQLSERVER协议;启用“TCP/IP”;
双击“TCP/IP”-------->“IP 地址”-------->“IPAll”------->“TCP 端口”设置为自己想要的。
重新启动sql2005服务器
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
e.到这里如果你是使用sql server 2000的应该是没有问题了,但如果你是使用sql server 2005的,可能还是存在连不上的问题:
(1)数据库引擎没有启动,下面使用两种方式:
a.开始->程序->Microsoft SQL Server 2005->SQL Server 2005外围应用配置器,在打开的界面单击"服务的连接的外围应用配置器",在打开的界面中找到
Database Engine,单击"服务",在右侧查看是否已启动,如果没有启动可单击"启动",并确保"启动类型"为自动,不要为手动,否则下次开机时又要手动启动;
b.可打开:开始->程序->Microsoft SQL Server 2005->配置工具->SQL Server Configuration Manager,选中SQL Server 2005服务中SQL Server(MSSQLSERVER)
并单击工具栏中的"启动服务"按钮把服务状态改为启动;
(2)查看sql server 数据库是否已经启用远程连接
开始----->程序----->Microsoft SQL Server 2005----->配置工具----->SQL Server 外围应用配置器---->
单击服务和连接的外围应用配置器------>点击数据库引擎----->点击远程连接----->右边选中本地连接和远程连接
再选择要使用的协议,( 这个地方应当启用TCP/IP 和命名管道服务!)单击“应用”----->重启服务器;
(3)启用 SQLServer 浏览器服务
开始------>程序------>Microsoft SQL Server 2005------>配置工具------>SQL Server 外围应用配置器
------>在“SQL Server 2005 外围应用配置器”页, 单击“服务和连接的外围应用配置器”
------>然后单击展开“SQL Server Browser”, 选中“服务”,在右边“启动类型”选择“自动”------->再单击“启动”,单击“确定”按钮返回
现在应该连上了吧! 哈哈哈
java连接ms sql server各类问题解析的更多相关文章
- PHP 5.3.X 连接MS SQL Server php_mssql.dll
在网上搜索了一下PHP 5.3.X 连接SQL Server的办法,有人也遇到了这个问题 原来PHP 团队在PHP 5.3 中移除了SQL Server的驱动和库,而微软自己开发了针对PHP的SQL驱 ...
- .net core连接Liunx上MS SQL Server
场景 由于业务要求,需要对甲方的一个在SQL Server上的财务表进行插入操作.研究了半天,因为一个小问题折腾了很久. 过程 .net core端: 1. 利用EF,就需要的导入相关的Nuget包, ...
- Datagrip连接SQLServer Connecting DataGrip to MS SQL Server
Connecting DataGrip to MS SQL Server Posted on June 21, 2016 by Maksim Sobolevskiy Some specific nee ...
- [转]JIRA 7.2.6与Confluence 6.0.3的安装与配置之MS SQL Server版
相关软件版本信息 说明:下方软件可以点击链接,通过百度云盘进行下载. 操作系统:Windows 10(密码:foht)或者Windows Server 2012(密码:lsad): 数据库:SQL S ...
- elasticsearch与ms sql server数据同步
MS SQL Server Download Elasticsearch Install Elasticsearch Follow instructions on https://www.elasti ...
- SQL Server 数据加密功能解析
SQL Server 数据加密功能解析 转载自: 腾云阁 https://www.qcloud.com/community/article/194 数据加密是数据库被破解.物理介质被盗.备份被窃取的最 ...
- [MS SQL Server]SQL Server如何开启远程访问
在日常工作中,经常需要连接到远程的MS SQL Server数据库中.当然也经常会出现下面的连接错误. 解决方法: 1. 设置数据库允许远程连接,数据库实例名-->右键--->属性---C ...
- Linux下使用FreeTDS访问MS SQL Server 2005数据库(包含C测试源码)
Linux下使用FreeTDS访问MS SQL Server 2005数据库(包含C测试源码) http://blog.csdn.net/helonsy/article/details/7207497 ...
- ms sql server 在abator生成的 insert 无法获取插入 id 的原因
<insert id="abatorgenerated_insert" parameterClass="net.xxxxxl.dataobject.Users&qu ...
随机推荐
- SVG页面loading动态图
https://github.com/SamHerbert/SVG-Loaders demo http://samherbert.net/svg-loaders/
- CodeForces 617E XOR and Favorite Number
莫队算法. #include<cstdio> #include<cmath> #include<cstring> #include<algorithm> ...
- android Makefile把jar包打到apk里
这个是经常的需求,我就是经常忘,关键不理解啊. 反反复复的也看看了android makefile. 太复杂了. 慢慢来吧.哎.工作十年.啥也不会.咋整? ## Copyright (C) 2008 ...
- FMDB事务的使用
http://blog.csdn.net/qq_29892943/article/details/50541439 首先,说一下事务是什么,比如说我们有一个学生表和一个学生成绩表,而且一个学生对应一个 ...
- IIS Default Web Site : The service did not response to the start or control request in a timely fashion
IIS Default Web Site无法启动,提示错误:The service did not response to the start or control request in a time ...
- 单片机modebus RTU通信实现,采用C语言,可适用于单片机,VC,安卓等(转)
源:单片机modebus RTU通信实现,采用C语言,可适用于单片机,VC,安卓等 //modebus_rtu.c /***************************************** ...
- JQuery checkbox全选多次点击后无效解决方法
1. jquery设置checkbox时: <input type="checkbox" id="ckAll"/> $(function(){ va ...
- Linux_System11
1.查看/var目录的大小:1)ll -hd /var 查看目录的实际大小2)du -sh /var 查看目录所占磁盘空间大小修改权限:chmod 750 hunan修改属主和属组:groupadd ...
- 基于RBAC的权限设计模型
个部件模型组成,这4个部件模型分别是基本模型RBAC0(Core RBAC).角色分级模型RBAC1(Hierarchal RBAC).角色限制模型RBAC2(Constraint RBAC)和统一模 ...
- ASP.NET常用的控件怎么添加
http://jingyan.baidu.com/article/d8072ac4224747ec95cefda2.html