zoukankan      html  css  js  c++  java
  • 服务器SQl2000和SQl2005版本不同带来一系列问题解决方案

    最近实施一个中型的门户网站,在项目编码已经结束测试完成后,发布服务器上,因为以前用到只有SQl2000,当前基于开发的SQL2005+VS2008,环境是.NET 3.5版本,这个时候就出现许多问题.一一描述并提供解决方案:

    A:版本问题—这是你第一个必须面对的并且是核心问题:
    因为在实施中用到Row_Number()函数进行简单的数据分页,很明显只有SQl2005以上版本才支持,首先让我们来看看数据库版本的具体划分:
    版本获得方法如下:
     1--获得当前数据库版本方法:
     2A:Select @@Version —返回当前数据版本号(微软定义)
     3--完整获得版本信息
     4B:SELECT  SERVERPROPERTY('productversion'), SERVERPROPERTY ('productlevel'), SERVERPROPERTY ('edition')
     5上述获得完整版本信息:
     6
     7(1)产品版本编号('productversion')(例如:9.00.1399.06 或者8.00.534)
     8(2)产品级别('productlevel')(例如:RTM正式版)
     9(3)版本('edition')(例如:Enterprise Edition-企业版)
    10
    SQL2000版本号查询结果:

    SQl2005版本号查询结果:

    在微软官方上看到版本区分如下:SQL2000和SQL2005版本号对比如下:
       
    安装SQL2005时如果具有引导程序问题不大,如果压缩包中只是Server和Tools文件夹时:需要注意安装顺序非常重要,应该首先安装Tools目录下然后在安装Server目录服务器引擎,如果只安装Tools客户端工具,没有安装Server目录下数据引擎情况下,会导致sql2005默认链接的是SQL2000数据引擎也就是8.0版本,导致Row—Nummber等函数不支持的现象发生.问题关键是安装SQL 9.0版本数据库引擎既Server目录下,并重新生成一个新的数据库实例而非默认实例:

    这样做主要目的是在SQlClint容易区分不同版本下不同的数据库实例,链接时取新建立的数据库实例引擎,执行T—SQL语句正确执行,查看版本是9.0,这点是很有必要,如果SQL语句出现不可预料的错误,数据引擎版本问题是很隐蔽而关键的问题,这也是我不断在前面不断区分和识别数据版本的用心所在。
    安装完SQL2005后,开始准备用SQL2000客户端工具连接SQL2005,结果报告不能用SQL2000客户端工具连接,只能用SQL2005客户端工具连接,后证明SQL2005客户端工具可以同时连接SQL2000和SQL2005。

    B:多版本下链接数据库
    当数据库建立后另外一个问题就是多版本下链接数据库:其实在同一台机器上同时安装多个版本的数据包括orcal理论上都是可以的,
    1--默认链接字符串
    2public static readonly string connString = "Data Source=.;Initial Catalog=IssueDB;Uid=sa;Pwd=chen";//可以通过配置文件读取,请查MSDN
    如上链接会报错的,因为先安装的SQL2000后装上SQL2005,DataSource通过.默认来指向的是SQL2000数据库引擎,回报出无法找到IssueDB这个数据库对象,同样默认数据库通信端口1433也被SQL2000占用,后来通过官方资料证明:SQL2000服务器用的端口始终是1433端口,而SQL2005使用的是动态端口,
    在多版本下建立SQl2005一个新的数据库实例后,鉴于项目需要建议开辟新的通信端口,链接字符窜写法如下:
    1--开辟一个新端口(当然在使用前应测试该端口是否被占用)连接字符窜
    2public static readonly string connString = "Data Source=5A40BDACC26449F\\SQLEXPRESS:5048;Initial Catalog=IssueDB;Integrated Security=True";
    3
    4//5048为新开辟端口
    5
    6
    SQl2005配置步骤如下:
    (1):在 "程序—>配置工具—>SQlServer配置管理器"运行起来:选择SQl Native Client配置下客户端协议 如图显示:

    (2)选中Tcp/ip选择属性配置 截图如下:

    修改完成后需要重新关闭再次启动SQlserver服务配置才有效,通过程序连接数据库SQl2005,链接正常.

  • 相关阅读:
    一些业内有名的网站收集
    WCF重载
    FCKEditor fckconfig.js配置,添加字体和大小 附:中文字体乱码问题解决
    查询第几条到第几条的数据的SQL语句
    SPOJ 9939 Eliminate the Conflict
    UVA 10534 Wavio Sequence
    HDU 3474 Necklace
    POJ 2823 Sliding Window
    UVA 437 The Tower of Babylon
    UVA 825 Walking on the Safe Side
  • 原文地址:https://www.cnblogs.com/chenkai/p/1565501.html
Copyright © 2011-2022 走看看