1:问题:发布系统后,发现报表上有些中文显示乱码,查一下才知道这些汉字是从存储过程中返回的。为什么在开发环境不会有这个问题呢?最后才清楚问题的原因。原来实际部署的数据库服务器是英文版的,开发环境的数据库服务器是中文版的,在存储过程中的varcha型在英文版操作系统下不支持中文编码,在中文版操作系统下支持中文编码。
解决方法:把存储过程中varchar型改为nvarchar型(支持UTF-8编码)。
2:问题:发布系统后,发现一个数据列表显示的数据不正确,而这个数据列表是从一个视图中提取数据的,为什么会这样呢?原来是这个视图的一个来源表改变了表结构,删除了一列,而视图却没有自动更新去掉那一列。
解决方法:打开视图设计器,运行视图,手动更新视图(视图是不会自动更新的)。最好是在写视图语句时,不要用select * ,而用select 字段1,字段2…… 。
3:问题:发布系统后发现一个功能不正常,经检查后发现这个功能应用了一个存储过程,这个存储过程中使用了超出当前部署系统的数据库用户的权限,所以存储过程运行失败!而在开发环境测试时使用的是sa超级用户,当然检查不出来了。
解决方法:修改存储过程。在测试时,测试环境尽量和部署环境一致。