首先声明:笔者是Java的初学者,并且一值是走在自学的道路上,长久以来只有“度娘”相伴。(加入了各种Java学习群,基本没有热心帮人解决问题的。可以理解-_-!!!)大神级的人物就不必看拙文了,没有什么技术含量。主要是把Java在链接SQLserver数据库中遇到问题的系统解决方法总结梳理下。废话就不说了,言归正传:

笔者在做Java练习时,对关于链接SQLserver数据库的方法,通过贴心的“度娘”查了很多有借鉴意义的博文,受教非浅。于是本着人人为我的精神照搬了其中一个代码较工整清晰的案例(是谁的我忘记了,因为太多了~_~)。之后令人惊悚的事件发生了,在调试中,一连串的红色EXception冲刷着我的屏幕。上帝啊,那个案例明明在结束语处,写着“测试通过”,为毛在我这里就对我如此这般残忍。好奇心使我不干屈服,我怀着懊恼的心情拿起了鼠标,拖动这哪一行行看不懂的红文,直至顶端。啊!在我有限的鸟语库里终于搜索到了熟悉的内容“ClassNotFindException”。当看到熟悉的景物一种兴奋之感悠然而生,但随后边消失了。因为一个跟现实的问题突然闪现在我的脑海中:“哪代表的是啥意思?”。无奈之下,又在此求助了百求不厌的“度娘”。原来是没有驱动啊!(怎么还要另装驱动啊,不是自带的啊O_O~,看来离我想想的便捷还有段距离。)知道原因就简单了,让“度娘”帮找驱动去,很快就找到了,并下载到的库里。激动的心情难以言表,颤抖的鼠标打开了驱动文件夹,靠!怎么有两个文件,我要用那个。在此蒙圈的我又去问了“度娘”,原来是兼容问题:SQLJDBC.jar是兼容Java1.6之前的;SQLJDBC4.jar是兼容Java1.6之后的;问题高清了,我果断的查了下我的版本:1.8,嗯,看来是SQLJDBC4.jar了。要给它安个家啊,要不怎么能安心工作呢!标准地址是:/java/jdk/jre/lib/ext下。还要把地址告诉我的开发工具,好指导上哪儿去找去,classpath。一切都搞定了这下你该可以了吧。在此运行起我的测试程序。俗话说:“残酷的打击不会只有一个”,又是一堆看不的红文,这是又怎么了,不是已经给你驱动了吗?还真是难伺候啊。耐着性子继续和“度娘”做着和之前一样的工作。在“度娘”帮助下问题是搞清楚了,用户名登录失败!!!!。天啊,什么情况!我明明可以通过配置工具登录的用户名,怎么到你着就不灵了啊,成黑户了吗?没关系,”度娘“是万能的,一问便知。原来SQLserver的身份管理上是区分windows身份和SQLserver身份的,通过外部程序访问要通过SQLserver身份验证才行,原来如此。那就给俺一个sqlserver的身份呗。通过登录管理工具,在安全性里选择两者皆可的混合模式(看来window模式是必须的了)。设置好之后,在用户里启用了我要使用的用户名,设置好密码。好了,累死我了。这下终于完成了。俗话说:“再一再二,不能再三”,这下总该让我看到久违的“链接成功”的消息了吧,哈哈~。我迫不及待地在次运行了程序,有时,我总觉得上帝是在故意整我,哪看到想吐的红文,又在此如约而至的来了,而且还和上次的一模一样,我去,我不是已经给你开通了吗,哪怕你有点新信息也好啊。难道我折腾半天白费了吗?

现实是残酷的,一切还要从头开始。本来我已经打算放弃了,在“度娘”一通漫无目的的海搜中看到,还要在SQLserver的配置工具中配置TCP/IP协议的地址和端口号127.0.0.1:1433都配置好了,可问题依然如故,烦躁之感,时不时的偷袭着我。无聊之下看着配置工具里的内容,突然一个问题引起了我的注意,怎么在配置工具里有两个SQLserver的网络配置项,其中一个多了一个32是什么意思,点开之后发现里面的内容和另一个是完全一样的,只是协议名字有了区别,一个是MSSQLSERVER,一个是SQLEXPRESS。协议中的内容是一样的,只是一个是全启动状态,一个是全禁用状态,突然我灵光一闪(^O^)好像这个跟用管理工具登录时选择服务起名称是一样的啊。难道问题出在这里了吗,顿时倦意全无,在管理工具上试着换下服务器名称登录下,果然登录失败。这下我终于明白了问题的根源,果断的关闭另一服务器,把另一服务器中禁用的项全打开。在进行我之前程序的测试。盼望已久的“链接成功”信息终于出现在了我的眼前。

关于在Java中链接SQLServer数据库中失败的原因分析的更多相关文章

  1. Excel 数据导入至Sqlserver 数据库中 ltrim() 、rtrim() 、replace() 函数 依次空格无效问题

    今天导一些数据从Excel中至Sqlserver 数据库中,在做数据合并去重的时候发现,有两条数据一模一样,竟然没有进行合并: 最后发现有一条后面有个“空格”,正是因为这个“空格”让我抓狂许久,因为它 ...

  2. jsp中使用Servlet查询SQLSERVER数据库中的表的信息,并且打印在屏幕上

    jsp中使用Servlet查询SQLSERVER数据库中的表的信息,并且打印在屏幕上 1.JavaBean的使用 package com.zheng; public class BookBean { ...

  3. PowerDesigner从SqlServer数据库中导入实体模型

    PowerDesigner从SqlServer数据库中导入实体模型 时间 2013-06-28 10:26:34 CSDN博客 原文  http://blog.csdn.net/sxycxwb/art ...

  4. 批量解密SQLSERVER数据库中的各种对象的工具dbForge SQL Decryptor

    批量解密SQLSERVER数据库中的各种对象的工具dbForge SQL Decryptor2.1.11 之前写过一篇文章,使用redgate公司的SQL PROMPT工具,但是不太方便 SQLPRO ...

  5. 获取sqlserver数据库中所有库、表、字段名的方法

    获取sqlserver数据库中所有库.表.字段名的方法 2009年03月12日 星期四 下午 12:51 1.获取所有数据库名: SELECT Name FROM Master..SysDatabas ...

  6. 设置SQLServer数据库中某些表为只读的多种方法

    原文:设置SQLServer数据库中某些表为只读的多种方法 翻译自:http://www.mssqltips.com/sqlservertip/2711/different-ways-to-make- ...

  7. 【转载】Sqlserver数据库中无自增Id的情况下使用ROW_NUMBER()函数进行数据分页

    在Sqlserver数据库中,如果查询表中含有自增长Id列,一般会采用select Top的方式来数据的分页操作.而实际上很多数据表设计的时候,不一定含有自增长Id列,那么数据库没有Id自增列的时候要 ...

  8. Sqlserver数据库中的临时表详解

    临时表在Sqlserver数据库中,是非常重要的,下面就详细介绍SQL数据库中临时表的特点及其使用,仅供参考. 临时表与永久表相似,但临时表存储在tempdb中,当不再使用时会自动删除.临时表有两种类 ...

  9. SQLServer数据库中开启CDC导致事务日志空间被占满的原因

    SQLServer数据库中开启CDC导致事务日志空间被占满的原因 转载  2017-04-01   投稿:mrr    我要评论 这篇文章主要介绍了SQLServer数据库中开启CDC导致事务日志空间 ...

随机推荐

  1. 微信开发之自定义菜单--weixin-java-tools

    一.前言 平时在开发微信的过程中,肯定会设计到微信的相关菜单的使用,这次就和大家介绍下如何使用weixin-java-tools来管理菜单 二.自定义菜单分类 1.click:点击推事件用户点击cli ...

  2. 正确看待POW与POS,总结与区分

    POW:Proof of Work,工作证明. 比特币在Block的生成过程中使用了POW机制,一个符合要求的Block Hash由N个前导零构成,零的个数取决于网络的难度值.要得到合理的Block ...

  3. Linux下使用GDB进行调试

    Linux下使用GDB进行调试的常用命令记于此. $ sudo su # g++ -g test.cpp -o test -pthread # gdb test         <------- ...

  4. iOS: Xcode7安装KSImageNamed插件,自动读取图片名称

    官方文档: ## How do I use it?     Build the KSImageNamed target in the Xcode project and the plug-in wil ...

  5. 最小生成树之Prim(普里姆)算法

    关于什么是Prim(普里姆算法)? 在实际生活中,我们常常碰到类似这种一类问题:如果要在n个城市之间建立通信联络网, 则连通n个城市仅仅须要n-1条线路.这时.我们须要考虑这样一个问题.怎样在最节省经 ...

  6. Drawing-Order-Of-meshes-and-sprites

    Sprite 和 Mesh Render 共存 [CanEditMultipleObjects] [CustomEditor(typeof(MeshRenderer))] public class M ...

  7. centos7,py2和py3共存

    1.查看是否已经安装Python CentOS 7.2 默认安装了python2.7.5 因为一些命令要用它比如yum 它使用的是python2.7.5. 使用 python -V 命令查看一下是否安 ...

  8. libevent2源码分析之四:libevent2的消息泵

    Dispatch类似于一个消息泵,在一个死循环中,不停地检查IO的状态(可以想像成不断从消息队列中读取消息),将状态的改变变成事件,再进行事件的响应. 主要代码如下: [event.c] int ev ...

  9. 我对GFWed的一些自己的见解

    首先来听听维基百科对GFWed的说明 防火长城(英语:Great Firewall of China.经常使用简称:GFW,中文也称中国国家防火墙或防火长城[1],中国大陆民众俗称防火墙[2].功夫网 ...

  10. iOS 之UIBezierPath

    代码地址如下:http://www.demodashi.com/demo/11602.html 在之前的文章中,由于用到过UIBezierPath这个类,所以这里就对这个类进行简单的记录一下,方便自己 ...