关于identity

在Ms sql server 中, 有Identity类型(标识列, 自增长列).

 

如果使用 ole db连接数据库, Pb默认使用 select @@identity语法来获得dw中Identity列的新值(在update()之后, dw自动从数据库中获得).

 

在使用了向第二张表中插入新行的"触发器"的情况下, 如果第二张表中也有Identity列, 会导致dw在Update()后, 获得第二张表的最后的identity

 

解决方法是, 打开pbodbxx.ini文件, 把 GetIdentity='Select @@identity' 换成 GetIdentity='Select scope_identity()'

 

***以上方法是由 Jason 'Bug' Fenter [TeamSybase]在sybase论坛上提供的

 

在使用Mssql server 2005或2008时, 会出现以上方法不能获得identity的现象, 解决方法是使用 SQLNCLI 或 SQLNCLI10做 oledb的Provider.

***该方法是由Alfredo Santibáñez 在sybase论坛上提供的

本人同时在此向他们的无私帮助表示感谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值