1

再会,

我的SQL Server 数据库表中有一个时间(日期时间)字段,我必须将VS 2010 程序上的日期时间类型的记录提交到我的数据库。当我这样做时,我收到以下错误:

{“列插入或更新与先前的 CREATE RULE 语句施加的规则冲突。该语句已终止。冲突发生在数据库 'PTBODW'、表 ' dbo。MatchGPStoTripSchedule '、列 ' tTripScheduledStartTime '。\r\n语句已被终止。"} 谁能帮帮我。

提前致谢。

4

2 回答 2

0

看起来该列正在使用sp_bindrule功能。您可以使用以下命令列出数据库中的规则:

select  o.name as TableName
,       c.name as ColumnName
,       r.name as RuleName
from    sys.objects o
join    sys.columns c
on      c.object_id = o.object_id
join    sys.objects r
on      r.object_id = c.rule_object_id
where   o.is_ms_shipped <> 1
        and rule_object_id <> 0

您可以使用以下命令查看规则的定义sp_helptext

exec sp_helptext 'RuleName'

规则可以从一列中解除绑定sp_unbindrule(每列只能有一个规则,因此sp_unbindrule不需要知道规则的名称):

exec sp_unbindrule 'MatchGPStoTripSchedule.tTripScheduledStartTime'
于 2012-08-06T08:18:45.650 回答
0

听起来它可能是一个超出范围的变量。我会在 SQL 管理工作室中启动 SQL 分析器并找到导致错误的确切 SQL。如果它是批量插入,我将连续获得插入的大小,直到您隔离导致问题的(第一个?)行。

于 2012-08-06T08:12:56.247 回答