日期:2014-05-17  浏览次数:20717 次

sql通过链接服务器连接oracle问题(急)
由于要做两个系统之间的接口,一个用的sql,一个用的oracle,我在sql上面建了一个链接服务器连接到了ORACLE的表,插入更新删除等操作均没有问题,可是当我往ORACLE里面插入一个带有默认值的表时,如果我不给那个带默认值的字段赋值他就提示错误。

我在sql里面的语句是:\
INSERT INTO CSSW..CMMP.A_STORAGE(ID,CREATETIME,WMSREADFLAG,OPTYPE,STORAGECODE,STORAGENAME,PRODUCTLINE)
values(1,'2011-01-01','1','i','DD','的的','dd')这样是成功的。
其中ID是ORACLE数据库中的默认值,如果我不给他赋值
INSERT INTO CSSW..CMMP.A_STORAGE(CREATETIME,WMSREADFLAG,OPTYPE,STORAGECODE,STORAGENAME,PRODUCTLINE)
values('2011-01-01','1','i','DD','的的','dd')
他就提示我:



OLE DB 提供程序 'MSDAORA' 未能 INSERT INTO 表 '[CSSW]..[CMMP].[CW_LL_BOM]'(由于列 'ID')。列使用了默认值。
[OLE/DB provider returned message: 多步操作产生错误。请检查每一步的状态值。]


默认值不是不用赋值吗。我在Pl/sql里面插入的时候也不用赋值,可是从sqlserver里面通过链接服务器插入的时候就报错,请高手解答到底是咋回事啊。小弟在这里感谢了。


------解决方案--------------------
你可以看看oracle数据库中是否设置了此表的ID类不能为空
虽然是默认值,但是设置其不为空,也会提示相应的错误