enjoy in work

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

项目基本设计时的失误,现在为了在非纯英文地区使用公司的系统,4月1日前,必须将数据库中全部的varchar转换到nvarchar,当然要保证原有数据不能丢失。

大概的思路:
一、准备工作,备份所有的资源,建造测试环境,然后:
    1、检查SQL里所有View、SP、Function、Trigger,确保都是可靠的;
    2、检查SQL里所有varchar字段的情况;
    3、检查WebService里面对所有varchar字段地使用情况;
    4、检查WinFrom客户端里面对所有varchar字段地使用情况;

二、在测试数据库上进行更改
    1、生成所有View、SP、Function、Trigger的SQL脚本;
    2、修改所有长度小于4000的varchar字段为nvarchar;
    3、修改所有长度大于4000的varchar字段为ntext;
    4、替换View、SP、Function、Trigger的SQL脚本里所有的varchar为nvarchar,注意先检查会不会有需要转换到ntext的字段出现,然后重新生成View、SP、Function、Trigger;
   
三、更改测试WebService
    1、在每个SqlDataAdapter上重新进行一遍“配置数据适配器”向导,应该基本上修改了所有机器生成的代码中的varchar;
    2、在全部的代码中查找"Varchar",(全字匹配,不区分大小写),找到的将是所有手写的varchar,替换为nvarchar;
    3、编译。

四、修改client WinForm
    1、重新引用所有的“Web 引用”
    2、在全部的代码中查找"Varchar",(全字匹配,不区分大小写),找到的将是所有手写的varchar,替换为nvarchar;

五、各模块负责人对自己模块的调试和详细测试
    定会有不少问题出现,但愿都能在1天之内解决掉。

六、告知所有用户将停止live的系统1-2天

七、升级live系统
    1、停止IIS、SQL、自己的服务
    2、备份
    3、在live库上进行升级
    4、升级WS
    5、更新自动升级库
    6、测试
        不成功就成仁

八、重新启动live系统,告知用户"好了!"。

posted on 2005-03-27 00:01  owl  阅读(1243)  评论(2)    收藏  举报