-2

我收到以下错误,但不太确定这意味着什么:

错误信息:System.Data.SqlClient.SqlException: 以'[DEFAULT]开头的标识符,1 AS rowJoiner FROM (dasolPSDev.dbo.BB03_12 INNER JOIN dasolPSDev.dbo.BB03_10 ON dasolPSDev.dbo.BB03_12.caseid = ' 太长。最大长度为 128。在 System.Data.SqlClient.SqlDataReaderSmi.InternalNextResult(Boolean ignoreNonFatalMessages) 在 System.Data.SqlClient.SqlDataReaderSmi.NextResult() 的 System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)在 System.Data.SqlClient.SqlCommand.RunExecuteReaderSmi(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream) 在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) 在 System.Data .SqlClient。SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) at System.Data.SqlClient.SqlCommand.ExecuteReader() at PowerStatTable.CentileGenerator. LoadResult(String 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)RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) at System.Data.SqlClient.SqlCommand.ExecuteReader() at 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)RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) at System.Data.SqlClient.SqlCommand.ExecuteReader() at 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)Int32 输出类型)

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

4

2 回答 2

3

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

于 2013-05-21T22:50:37.897 回答
1

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

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

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

于 2013-05-21T22:49:41.447 回答