有爱的天空,处处都是暖阳阳的。

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

项目基本设计时的失误,现在为了在非纯英文地区使用公司的系统,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 2011-08-04 10:44  荣耀轩辕  阅读(212)  评论(0编辑  收藏  举报