首先声明:笔者是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. python 字典dict和列表list的读取速度问题, range合并

    python 字典和列表的读取速度问题 最近在进行基因组数据处理的时候,需要读取较大数据(2.7G)存入字典中,然后对被处理数据进行字典key值的匹配,在被处理文件中每次读取一行进行处理后查找是否在字 ...

  2. chromatic aberration

    https://github.com/keijiro/KinoFringe https://en.wikipedia.org/wiki/Chromatic_aberration 色差偏移 做神经病效果 ...

  3. 安装Node.js、npm和环境变量的配置

    由于Node.js平台是在后端运行JavaScript代码,所以,必须首先在本机安装Node环境. 一.安装Node.js 首先,从Node.js官网下载对应平台的安装程序,网速慢的童鞋请移步国内镜像 ...

  4. CSS实现四种loading动画效果

    四种loading加载效果: <!DOCTYPE html> <html lang="en"> <head> <meta charset= ...

  5. http://blog.csdn.net/tkwxty/article/details/34474501

    http://blog.csdn.net/tkwxty/article/details/34474501

  6. 【转】python中文转换url编码

    今天要处理百度贴吧的东西.想要做一个关键词的list,每次需要时,直接添加 到list里面就可以了.但是添加到list里面是中文的情况(比如‘丽江’),url的地址编码却是'%E4%B8%BD%E6% ...

  7. Myeclipse中文件已经上传到server文件夹下,文件也没有被占用,可是页面中无法读取和使用问题的解决方法

    这个问题是因为Myeclipse中文件不同步引起的.在Myeclipse中,project文件是由Myeclipse自己主动扫描加入的,假设在外部改动了project文件夹中的文件但又关闭了自己主动刷 ...

  8. MapReduce初学习

    内容来源,工具下载:点此链接  点此链接 Mapreduce概述: MapReduce是一种分布式计算模型,主要用于搜索领域,解决海量数据的计算问题.MR是由两个阶段组成,Map和Reduce,用户只 ...

  9. 利用JS实现vue中的双向绑定

    Vue 已经是主流框架了 它的好处也不用多说,都已经是大家公认的了 那我们就来理解一下Vue的单向数据绑定和双向数据绑定 然后再使用JS来实现Vue的双向数据绑定 单向数据绑定 指的是我们先把模板写好 ...

  10. Qt学习 之 多线程程序设计

    QT通过三种形式提供了对线程的支持.它们各自是, 一.平台无关的线程类 二.线程安全的事件投递 三.跨线程的信号-槽连接. 这使得开发轻巧的多线程Qt程序更为easy,并能充分利用多处理器机器的优势. ...