登录程序时会出现语法错误或访问违规



我们的程序连接到数据库,当您登录程序时,它会抛出此错误:"语法错误或访问违规或访问违规"以及"无法将值null插入列'ID',表'caddb.dbo.audtrail';列不允许nulls。插入失败"

我已经尝试了Microsoft的修复程序,以使用ODBC连接中的ANSI nulls,填充和警告,但仍会发生。

有人可以指向我看的地方吗?我相信这是数据库中的损坏数据...但不是100%确定的。如果您需要我,我将附加带有该消息的错误。

异常向您显示了您的应用程序试图将null值插入列ID中的根本原因,列不允许null。如果这是由您的应用程序的错误引起的,并且您还想将一个空值插入ID列中。然后,您可以更改表以允许列ID的null或使用代表NULL的特殊值(不建议(进行插入。

否则,更有可能是您的应用程序的问题。

您需要确保来自CADDB.dbo.AuditTrail allow nulls的列,检查您的表格架构,或者可以尝试插入列 ISNULL(value,'NULL'),即 string null 是实际的NULL

ANSI_NULL查询选项仅在进行值比较时才能生效。将其设置为ON或将=/!=/<>设置为OFF时,这是IS NULL/IS NOT NULL

使用ISNULL()函数。示例ISNULL(column Name, '')

我不确定您是否在代码中使用T-SQL脚本访问表,也可以更改列以允许空。

谢谢大家!问题是数据库腐败。我得到了同一DB的工作备份,并且它可以正常工作而没有任何错误。

相关内容

最新更新