【问题标题】:SQL Error mesage relating to length of identifier [closed]与标识符长度有关的 SQL 错误消息 [关闭]
【发布时间】:2026-02-18 09:40:01
【问题描述】:

我收到以下错误,但不太清楚它的含义:

错误消息:System.Data.SqlClient.SqlException:标识符 以 '[DEFAULT], 1 AS rowJoiner FROM (dasolPSDev.dbo.BB03_12 内部连接 ​​dasolPSDev.dbo.BB03_10 ON dasolPSDev.dbo.BB03_12.caseid = ' 太长。最大长度为 128。 System.Data.SqlClient.SqlConnection.OnError(SqlException 异常, 布尔中断连接)在 System.Data.SqlClient.SqlDataReaderSmi.InternalNextResult(布尔 忽略非致命消息)在 System.Data.SqlClient.SqlDataReaderSmi.NextResult() 在 System.Data.SqlClient.SqlCommand.RunExecuteReaderSmi(CommandBehavior cmdBehavior、RunBehavior、runBehavior、布尔返回流)在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior、RunBehavior、runBehavior、布尔返回流、字符串 方法,DbAsyncResult 结果)在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior、RunBehavior、runBehavior、布尔返回流、字符串 方法)在 System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior 行为,字符串方法)在 System.Data.SqlClient.SqlCommand.ExecuteReader() 在 PowerStatTable.CentileGenerator.LoadResult(字符串 strQry,Int32 currRowNo) 在 PowerStatTable.CentileGenerator.LoadMedianTable(OutputMatrix outMtx) 在 PowerStatTable.CentileGenerator.CaclulateMedian(CentileStdErrCalculator calc, Int32 prevCol, Int32 colIndex) 在 PowerStatTable.MedianGenerator.Start() 在 PowerStatTable.TableGenerator.Start(ApplicationContext appContext, 字符串 strUID,Int32 seqId,Int32 flagProgress,字符串 strTpf,Int32 outputType) 在 StoredProcedures.CreatePowerStatTable(SqlString strUID, Int32 seqId, Int32 flagProgress, Int32 outputType)

128 个字符的限制是什么?我正在使用 C# 和 SQL Server 2005 并编辑其他人的代码。

【问题讨论】:

    标签: c# .net sql sql-server-2005 .net-assembly


    【解决方案1】:

    sysname 数据类型最多有 128 个字符。请注意,错误显示的是 SQL 命令的一部分,从 [Default] 开始。您正在编辑的进程正在生成无效的 sql 语句 - 它试图将整个文本视为字段或表名。返回并检查生成 SQL 语句的代码。

    【讨论】:

      【解决方案2】:

      SQL Server 认为您指的是具有以下字符串作为名称的对象

      '[DEFAULT], 1 AS rowJoiner FROM (dasolPSDev.dbo.BB03_12 INNER JOIN dasolPSDev.dbo.BB03_10 ON dasolPSDev.dbo.BB03_12.caseid = '
      

      显然,您并不想这样做;所以创建 SQL 语句的过程的某些部分设置不正确。

      【讨论】: