一个sql脚本引发的灾难后的思索
摘要:今天下午同事在PRD数据库服务器上更新了一个脚本,没有想到的是,本来很平常的一个操作,却导致了灾难性的后果,由于我们系统前不久改变了同SAP交互的方式,以前通过另外的中间接口访问SAP,最近进行了迁移,换了个接口程序。可是我同事的脚本更新后不久,用户就发现订单...
阅读全文
一个sql脚本引发的灾难后的思索
摘要:今天下午同事在PRD数据库服务器上更新了一个脚本,没有想到的是,本来很平常的一个操作,却导致了灾难性的后果,由于我们系统前不久改变了同SAP交互的方式,以前通过另外的中间接口访问SAP,最近进行了迁移,换了个接口程序。可是我同事的脚本更新后不久,用户就发现订单中有些产品被莫名的更改了,订单上开始选择的是芝麻油500箱,结果后来生成订单后发现变成了橄榄油500箱,虽然后来我们发现后马上进行了进一步的验证,而且没有发现大量的错误数据,只有一家用户,下了一个订单出现了问题。风险范围比较小,大家总算松了口气,马上进行了修复,并进一步进行了再三的Check,但是也暴露出了一个问题。事关这种全局性的修改,
阅读全文
切身体会设计系统时的前瞻性问题
摘要: 这几天遇到用户提出的一个新需求,要求在现有系统的基础上增加一种新的销售模式,其实也算不上新的销售模式, 只不过是由于收货方式有点区别,要在以前的价格基础上做订单时有个调整即可。但是做这种单据可以有几种方式,其中 一种是有采购入库单直...
阅读全文
切身体会设计系统时的前瞻性问题
摘要: 这几天遇到用户提出的一个新需求,要求在现有系统的基础上增加一种新的销售模式,其实也算不上新的销售模式,只不过是由于收货方式有点区别,要在以前的价格基础上做订单时有个调整即可。但是做这种单据可以有几种方式,其中一种是有采购入库单直接生成的销售出库单,写设计方案时,我就发现了一个头痛的问题,目前系统已经将销售模式写死了,比如SaleType(1表示正常销售,2表示调拨销售,3表示分销,4表示。。。)。本来这次的需求也属于正常销售的一种,只是要稍加区别即可。但是现在目前系统在不增加字段或者不进行大修改的情况下相当困难。因为很多系统很多关联地方都将SaleType写死了,特别是很多报表,对于
阅读全文
Sql Server 中的output returnvalue的区别
摘要:1:ReturnValue只能返回0,1,-1这样的数据,局限性很大 ,而在存储过程中用OutPut参数,可以返回各种类型的数据,比较灵活方便。ReturnValue 是用来返回错误码的,output是指存储过程传出参数 .示例如下:create proc [dbo].[pr_TestOutPut]@intNumber1 int,@intNumber2 int,@intSum int output,@msg nvarchar(20) outputasbegin set @intSum=2set @intSum=@intNumber1+@intNumber2set @msg='测试消息&
阅读全文
Sql Server 中的output returnvalue的区别
摘要:1:ReturnValue只能返回0,1,-1这样的数据,局限性很大 ,而在存储过程中用OutPut参数,可以返回各种类型的数据,比较灵活方便。 ReturnValue 是用来返回错误码的,output是指存储过程传出参数 . 示例如下: create ...
阅读全文
SSO简介
摘要:SSO英文全称Single Sign On,单点登录。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。它包括可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机制。它是目前比较流行的企业业务整合的解决方案之一。 SSO技术...
阅读全文
SSO简介
摘要:SSO英文全称Single Sign On,单点登录。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。它包括可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机制。它是目前比较流行的企业业务整合的解决方案之一。SSO技术实现机制当用户第一次访问应用系统1的时候,因为还没有登录,会被引导到认证系统中进行登录;根据用户提供的登录信息,认证系统进行身份校验,如果通过校验,应该返回给用户一个认证的凭据--ticket;用户再访问别的应用的时候就会将这个ticket带上,作为自己认证的凭据,应用系统接受到请求之后会把ticket送到认证系统进行校验,检查ticket
阅读全文
DataView没有使用New来初始化的杯具
摘要:最近发现系统有时在打开订单浏览画面时,会抛出在0行没有数据的错误提示,刚开始以后是搜索条件的问题,而且出现的次数比较少,也没有规律,对系统操作也没有很大的影响,因此没有特别关照。但是今天通过连串偶然的操作,发现这个错误可以这样重现,所以我就决定查出缘由来。通过一步步的跟踪,发现就是由于每次使用DataView时都没有使用New来初始化,每次都是声明后,直接通过DataView dv = dt.DefaultView;这样来赋值了,但是每次在使用dv后就设置dv.RowFilter = "***"。 结果今天跟踪时就发现,我刚跟到DataView dv = dt.Defaul
阅读全文
DataView没有使用New来初始化的杯具
摘要:最近发现系统有时在打开订单浏览画面时,会抛出在0行没有数据的错误提示,刚开始以后是搜索条件的问题, 而且出现的次数比较少,也没有规律,对系统操作也没有很大的影响,因此没有特别关照。但是今天通过连串偶然 的操作,发现这个错误可以这样重现,所以我就决定查出缘由来。...
阅读全文
DataView没有使用New来初始化的后果
摘要:最近发现系统有时在打开订单浏览画面时,会抛出在0行没有数据的错误提示,刚开始以后是搜索条件的问题,而且出现的次数比较少,也没有规律,对系统操作也没有很大的影响,因此没有特别关照。但是今天通过连串偶然的操作,发现这个错误可以这样重现,所以我就决定查出缘由来。通过一步步的跟踪,发现就是由于每次使用DataView时都没有使用New来初始化,每次都是声明后,直接通过DataView dv = dt.DefaultView;这样来赋值了,但是每次在使用dv后就设置dv.RowFilter = "***"。 结果今天跟踪时就发现,我刚跟到DataView dv = dt.Defaul
阅读全文