【问题标题】:Conversion failed when converting from a character string to uniqueidentifier从字符串转换为唯一标识符时转换失败
【发布时间】:2013-02-12 16:04:37
【问题描述】:

请注意,目前我正在尝试通过 C# ADO.NET 执行以下 INSERT 命令,但收到上述错误:

INSERT INTO tblStampAnnotation ([StampAnnotationID],[Title],[Subject],[Content],[Author],[Date],[LinkedDocumentsID],[PageNumber],[Colour]) VALUES('{6b15a625-b967-4d3b-9ee3-34f64633f469}','test title','test subject','test content','test author',GETDATE(),'{475f30a1-142f-4fd5-b783-598d838559de}',1,Null)

在这里找到一个检查GUID是否正确的小程序:http://www.devx.com/vb2themax/Tip/18293

当我运行程序时,它表明 {6b15a625-b967-4d3b-9ee3-34f64633f469} 和 {475f30a1-142f-4fd5-b783-598d838559de} 都是 GUID。有没有人有任何建议来确定我收到此错误的原因? TIA。

更新:

谢谢你的建议,鲍勃;但是,当我使用以下命令时,我仍然得到同样的错误:

INSERT INTO tblStampAnnotation ([StampAnnotationID],[Title],[Subject],[Content],[Author],[Date],[LinkedDocumentsID],[PageNumber],[Colour]) VALUES('6b15a625-b967-4d3b-9ee3-34f64633f469','test title','test subject','test content','test author',GETDATE(),'475f30a1-142f-4fd5-b783-598d838559de',1,Null)

更新 2: 请注意,我使用的是 SQL Server 2008。

更新 3: 这越来越奇怪了。当我使用 NEWID() 时,我仍然收到同样的错误:

INSERT INTO tblStampAnnotation ([StampAnnotationID],[Title],[Subject],[Content],[Author],[Date],[LinkedDocumentsID],[PageNumber],[Colour]) VALUES(NEWID(),'test title','test subject','test content','test author',GETDATE(),NEWID(),1,Null)

【问题讨论】:

  • 我已成功将您的字符串插入到 SQL Server 2012 的表中。不幸的是,我无法在 SQL Server 2008 上进行测试。您可以尝试在将字符串插入表之前对其进行转换吗?您也可以尝试使用 NEWID() 代替字符串吗?
  • 我能够在 2008 年进行测试,它插入得很好。
  • 谢谢你 gotqn——我按照你的建议尝试使用 NEWID(),但仍然收到错误。我错过了什么明显的东西吗?

标签: c# sql sql-server-2008 tsql ado.net


【解决方案1】:

您应该从 GUID 值中删除大括号 {}。

'6b15a625-b967-4d3b-9ee3-34f64633f469'

【讨论】:

  • 谢谢你的建议,鲍勃;但是,我取下了大括号,但这并没有解决问题。请查看我发布的答案。
【解决方案2】:

事实证明,我已经使用右键单击数据库 -> 任务... -> 导入数据从另一个数据库复制了这个表,然后我得到了 uniqueidentifier 错误。为了解决这个问题,我删除了表,并使用“New Table ...”设计器重新创建它,在我尝试了相同的第一个 INSERT 命令后它工作正常,所以当我使用 import 复制它时发生了一些奇怪的事情.谢谢大家的建议。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-21
    • 2018-03-08
    相关资源
    最近更新 更多