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

[经验分享] java连接ms sql server各类问题解析

[复制链接]

尚未签到

发表于 2015-6-30 12:49:24 | 显示全部楼层 |阅读模式
  首先先来说下使用微软自己开发的架包进行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.iyunv.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 身份验证模式):
DSC0000.jpg
  在打开的数据库视图中选择服务器(如上图)------>右键属性----->在出现的视图中选择安全性----->选择SQL Server和Windows 身份验证模式------>确定
DSC0001.jpg
  -----------------------------------------------------------------------------------------------------------------------------------------------------------------------
  c.设置密码:在你的数据库视图中点击安全性---->出现的二级菜单中点击sa---->在出现的视图中重置下sa的密码:
DSC0002.jpg
  然后为保险起见,你可以退出登录,然后重新打开登录,使用sa进行登录,如果能登录表示密码设置成功并且sa是可用的。
DSC0003.jpg
  -----------------------------------------------------------------------------------------------------------------------------------------------------------------
  d.配置端口号:
  sql 2000:开始---->所有程序----->Microsoft SQL Server----->服务器网络使用工具 点击----->
DSC0004.jpg
  ----->选中TCP/IP----->点击属性----->在出现的属性窗口中设置自己想要的端口号,默认为1433(最好不要默认的,容易受到攻击)
DSC0005.jpg
  然后将服务器进行重启
  sql 2005:
  开始---->所有程序----->Microsoft SQL Server 2005----->配置工具----->SQL Server Configuration Manager----->SQL Server 2005 网络配置
  ------>MSSQLSERVER协议;启用“TCP/IP”;
DSC0006.jpg
  双击“TCP/IP”-------->“IP 地址”-------->“IPAll”------->“TCP 端口”设置为自己想要的。
DSC0007.jpg
  重新启动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 外围应用配置器---->
DSC0008.jpg
  
单击服务和连接的外围应用配置器------>点击数据库引擎----->点击远程连接----->右边选中本地连接和远程连接
DSC0009.jpg
再选择要使用的协议,( 这个地方应当启用TCP/IP 和命名管道服务!)单击“应用”----->重启服务器;
(3)启用 SQLServer 浏览器服务
开始------>程序------>Microsoft SQL Server 2005------>配置工具------>SQL Server 外围应用配置器
------>在“SQL Server 2005 外围应用配置器”页, 单击“服务和连接的外围应用配置器”
------>然后单击展开“SQL Server Browser”, 选中“服务”,在右边“启动类型”选择“自动”------->再单击“启动”,单击“确定”按钮返回
  
  现在应该连上了吧!  哈哈哈
  
  

运维网声明 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-81936-1-1.html 上篇帖子: [一步一步] SQL Server 2008变更数据捕获 下篇帖子: VS环境下 Ibatis .Net 连接sqlserver 2005 碰到的问题 Unable to open connection to "Microsoft
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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