首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Server无法绑定多部分标识符

Server无法绑定多部分标识符
EN

Stack Overflow用户
提问于 2018-05-21 20:35:59
回答 1查看 180关注 0票数 0

目前我有以下问题

我创建了一个Strored过程,它根据在SSRS中设计的报表中接收到的参数来扩展动态SQL。

这是一种程序:

代码语言:javascript
运行
复制
alter PROCEDURE TablaDinamica @initdate datetime, 
@finaldate datetime, @pin varchar(30), @RID varchar(10), 
@PinState varchar(15), @charger varchar(50), @Document varchar(20)

AS
BEGIN
Declare @Where1 nvarchar(max) = ''
Declare @Where2 nvarchar(max) = ''
Declare @Where3 nvarchar(max) = ''
Declare @Select nvarchar(max)
Declare @FROM nvarchar(max)


if(@initdate IS NOT NULL and @finaldate IS NOT NULL)
BEGIN
SET @Where1 = 'a.generationdate between ''' + @initdate + ''' and 
'''+ @finaldate + ''''
if(@pin is not null or @pinstate is not null or @NombreRecaudador is not null)
SET @Where1 = @Where1+' and '
END
if(@pin is not null)
BEGIN
SET @Where2= 'pin='''+@pin+''''
if(@pinstate is not null or @charger is not null)
SET @Where2 = @Where2+' and '
END
if(@pinstate IS NOT NULL)
BEGIN
SET @Where3 = 'e.Nombre ='''+ @EstadoPin + ''''
if(@charger is not null)
SET @Where3 = @Where3+' and '
END
SET @Select= 'SELECT a.OpRCId,
a.Id,
f.OpClientId,
f.names,
f.lastnames,
f.Birthdate
SET @FROM = 'FROM 
a inner join b ON a.OpId = 
b.OpId
INNER JOIN c ON b.AdId = c.AdId
INNER JOIN d ON c.AdId = d.AdId
INNER JOIN e ON a.CId = e.CId
INNER JOIN f ON b.OpId = f.OpId
INNER JOIN g ON a.AdRId = g.AdRId
INNER JOIN s ON c.AdSId = s.AdSId
WHERE f.document = '''+@Document+''''

EXECUTE(@SELECT+@FROM+@Where1+@where2+@Where3)
END

当超出时,它在SSMS上工作得很好,但是在SSRS上,这是错误

代码语言:javascript
运行
复制
The multi-part identifier "a.OpRCId" could not be bound.

没有任何其他迹象表明有什么不对劲

我很感激你能给我的任何帮助!

致以问候!

注意:每个请求的,这是一个

代码语言:javascript
运行
复制
CREATE TABLE [dbo].[a](
    [OpId] [int] IDENTITY(1,1) NOT NULL,
    [OpCId] [int] NOT NULL,
    [CnEId] [int] NOT NULL,
    [OpLId] [int] NOT NULL,
    [AdId] [int] NOT NULL,
    [CnEId] [int] NOT NULL,
    [ANI] [numeric](18, 3) NOT NULL,
    [generationdate] [datetime] NOT NULL,
    [paymentdate] [datetime] NULL,
    [Pin] [varchar](30) NOT NULL,
    [Recovery] [numeric](18, 3) NOT NULL,
    [References] [varchar](50) NOT NULL,
    [Company] [numeric](18, 3) NOT NULL,
    [Total] [numeric](18, 3) NOT NULL,
    [Value] [numeric](18, 3) NOT NULL,
EN

回答 1

Stack Overflow用户

发布于 2018-05-21 20:57:02

当超出时,它在SSMS上工作得很好,但是在SSRS上,这是错误

使用Profiler捕获来自SSRS的执行(包括来自ExistingSession登录事件的SET设置),并在SSMS中再现问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50456284

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档