前言

  Lz主要目的是在Spring中配置SQL server 2000数据库,但实现目的的过程中参差着许多SQL server 2000的知识,也包罗在本文记载下来!(Lz为什么要去搞sql server2000而不去搞2005或2008的,Lz所处的环境需求,这点是小问题,别在意)

Spring里面主要的配置

 <property name="driverClass">
<value>net.sourceforge.jtds.jdbc.Driver</value>
</property>
<property name="jdbcUrl">
<value>jdbc:jtds:sqlserver://localhost;DatabaseName=snack</value>
</property>
<property name="user">
<value>sa</value>
</property>
<prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop>

  主要导入的jar包有jtds-1.2.5.jar,上面的localhost也可以写成localhost:1433,两者都可以运行,在这配置前,记得得先测试下你的sql server端口弄好了没!

在spring中配置sqlserver的数据源时出现:com.microsoft.jdbc.base.BaseDatabaseMetaData.supportsGetGeneratedKeys()Z

  网上大多是以下面的方式来配置的,导入的包有msbase.jar、mssqlserver.jar、msutil.jar,但我配了很久都没成功,上网查了下原因,有人说是microsoft存在的bug,说是在java代码调原驱动是没有问题的,但在hibernate就不是了。所以就改成了我现在的配置,行得通

<property name="connection.driver_class">com.microsoft.jdbc.sqlserver.SQLServerDriver</property>
<property name="connection.url">jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=hibernate</property>

在这种配置时,我是出现了以下错误,一开始我查了好久sessionFactory的bean里面,但最后却是改了bean为dataSource的上面这两句来解决的

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in file [E:\Workspace\131112_snack\snackClient\src\applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.AbstractMethodError: com.microsoft.jdbc.base.BaseDatabaseMetaData.supportsGetGeneratedKeys()Z

SQL Server 不能创建数据库,发生错误:1807 未能获得数据库 'test' 上的排它锁。请稍后重试操作。

  在sql 查询分析器的test数据库运行下面的语句

declare   @sql   varchar(100)
while 1=1
begin
select top 1 @sql = 'kill '+cast(spid as varchar(3))
from master..sysprocesses
where spid > 50 and spid <> @@spid
if @@rowcount = 0
break
exec(@sql)
end

以前进行的程序安装创建了挂起的文件操作。运行安装程序之前,必须重新启动计算机

  这个问题我遇到了两次,一次是在安装SQL server 2000时,另一次是在安装SQL2000-KB884525-SP4-x86-CHS.EXE的时候,虽然情况不同,但解决方法是一样的,就是重新启动计算机都是没用的,可以用下面的方法解决:regedit打开注册表,在HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Session Manager中找到PendingFileRenameOperations文件,并删除它。

与SQL server 2000的1433相关知识

  一开始我搞了好久没连接成功,无意间发现我电脑服务上没有运行SQL server 2000的1433的服务端口,以此学习有些相关的知识

  1. win7下出现telnet不是内部或外部的命令
    开始-->控制面版-->打开或关闭windows功能,勾选Telnet客户端,确定
  2. SQL server 的客户端网络实用工具或者服务端网络实用工具,选择TCP/IP后单击属性,可以看到SQL server的端口
  3. dos里面使用telnet localhost 1433可以连接电脑的1433端口
  4. 在任务管理器的服务里可以看到运行软件的PID,可以以此PID在dos窗口里面使用netstat -ano来查看所对应的端口号如下图

  5. 如果此时找不到1433的端口,可以试着下载个SQL2000-KB884525-SP4-x86-CHS.EXE更新试试看,双击打开只能算是解压,不算是安装,真正的安装是到你解压的目录后进入x86\setup\setupsql.exe进行安装,在此步骤遇到的问题上面文中也有解决了一些

注意项

  1. 在Spring配置这句<prop key="hibernate.hbm2ddl.auto">update</prop>时,会自动生成表,但不会自动生成数据库,在没有相应的数据库时运行会出错
  2. sql server不能创建表名为user,会报org.springframework.jdbc.BadSqlGrammarException: Hibernate operation: could not insert: [snack.bean.user]; bad SQL grammar [insert into user (userName, userPwd, userTel, jsId) values (?, ?, ?, ?)]; nested exception is java.sql.SQLException: 在关键字 'user' 附近有语法错误。
  3. dos命令net start MSSQLSERVER启动MSSQLSERVER服务,net stop MSSQLSERVER关闭MSSQLSERVER服务

在Spring中配置SQL server 2000的更多相关文章

  1. 配置sql server 2000以允许远程访问 及 连接中的四个最常见错误

    地址:http://www.cnblogs.com/JoshuaDreaming/archive/2010/12/01/1893242.html 配置sql server 2000以允许远程访问适合故 ...

  2. 配置sql server 2000以允许远程访问

    配置sql server 2000以允许远程访问适合故障:1. 用sql企业管理器能访问sql server 2000(因为它是采用命名管道(named pipes)方式进行方式),但用ado.net ...

  3. 在 Azure CentOS VM 中配置 SQL Server 2019 AG - (上)

    前文 假定您对Azure和SQL Server HA具有基础知识 假定您对Azure Cli具有基础知识 目标是在Azure Linux VM上创建一个具有三个副本的可用性组,并实现侦听器和Fenci ...

  4. 如何修改SQL Server 2000的数据库逻辑与物理名称

    在项目中使用SQL Server 2000创建了一个数据库,发现名称与另一个数据库太相似,于是决定更改名称,包括: 在企业管理器中看到的数据库名,也是实际应用程序中连接用的数据库名称: 在磁盘上看的物 ...

  5. SQL Server 2000的安全配置

    SQL Server 2000的安全配置 数据库是电子商务.金融连同ERP系统的基础,通常都保存着重要的商业伙伴和客户信息.大多数企业.组织连同政府 部门的电子数据都保存在各种数据库中,他们用这些数据 ...

  6. SQL Server 2000详细安装过程及配置

    说明:这篇文章是几年前我发布在网易博客当中的原创文章,但由于网易博客现在要停止运营了,所以我就把这篇文章搬了过来,虽然现如今SQL Server 2000软件早已经过时了,但仍然有一部分人在使用它,尤 ...

  7. sql server 2000安装程序配置服务器失败

    第一种方法 今天安装SQL Server 2000遇到了个很BT的问题,提示出下: 安装程序配置服务器失败.参考服务器错误日志和C:\Windows\sqlstp.log了解更多信息. 以前进安装目录 ...

  8. SQL Server 2000中的完整备份、差异备份操作

    在SQL Server 2000中,假定我们拥有一个数据库为:Test, 现在需要它每天19:00自动进行一次备份,并且以后一旦发生数据库错误,我们都可以通过备份文件将数据库恢复到任何一个备份过的时刻 ...

  9. SQL Server 2000中的并行处理和执行计划中的位图运算符

    SQL Server 2000中的并行处理和执行计划中的位图运算符 摘抄自:SQLServer 2000并行处理和位图简介 刘志斌 并行查询介绍Degree of Parallelism(并行度) 一 ...

随机推荐

  1. MySQL(二)MySQL的启动或链接失败

    有时候用命令mysql -u root -p 或者服务器启动mysql数据库的时候,会出现抛出异常并失败. 以下是遇过的异常. 1.1)抛出的异常:出现ERROR 2002 (HY000): Can' ...

  2. 【TensorFlow】tf.nn.softmax_cross_entropy_with_logits的用法

    在计算loss的时候,最常见的一句话就是 tf.nn.softmax_cross_entropy_with_logits ,那么它到底是怎么做的呢? 首先明确一点,loss是代价值,也就是我们要最小化 ...

  3. 2017-2018-2 20155303『网络对抗技术』Exp7:网络欺诈防范

    2017-2018-2 『网络对抗技术』Exp7:网络欺诈防范 --------CONTENTS-------- 一.原理与实践说明 1.实践目标 2.实践内容概述 3.基础问题回答 二.实践过程记录 ...

  4. 【转】Linux中包管理与定时任务

    [转]Linux中包管理与定时任务 第1章 软件查询 1.1 查询软件是否安装 rpm -qa |grep cron 查询是否安装了这个软件. [root@znix ~]# rpm -qa |grep ...

  5. ARMV8 datasheet学习笔记2:概述

    1. 前言 本文主要概括的介绍ARMV8体系结构定义了哪些内容,概括的说: ARM体系结构定义了PE的行为,不会定义具体的实现 ARM体系结构也定义了debug体系结构和trace体系结构 ARM体系 ...

  6. API 开发平台 dreamfactory,参考SAWAGGER,国外厂家,开源,本地与云部署

    API 开发平台,参考SAWAGGER,国外厂家,本地与云部署:参考  http://swagger.io/commercial-tools/ 1.dreamfactory 梦工厂公司  https: ...

  7. 转载:(Mac)在bash和zsh配置环境变量path的几种方法

    参考文献 老习惯,列出本文参考或引用或转载的文档和博客,致以崇高的敬意,感兴趣的可以去看看 1.http://postgresapp.com/ 2.http://postgresapp.com/doc ...

  8. python2.7源码或第三方包里埋藏的坑(持续更新)

    1.psutil包,aix环境下,如果进程命令过长的话,程序无法取得完整的进程命令,测试代码如下 import psutil proc=psutil.Process(11534558) pidDict ...

  9. CentOS 6.5环境使用ansible剧本自动化部署Corosync + pacemaker环境及corosync常用配置详解

    环境说明: 192.168.8.39 node2.chinasoft.com 192.168.8.42 node4.chinasoft.com 192.168.8.40 ansible管理服务器 19 ...

  10. 如何利用github打造个人博客专属域名(文字版本)

    1. 前言 此篇文章仅限于记录,不适合作为教程使用. 2. 步骤 2.1 先决条件 有github账号,有个人域名(可在万网购买),电脑本地安装有git环境 2.2 在github新建仓库.例如我的g ...