一尘不染

对象名称包含的前缀数量超过了最大数量。最大值为3

sql

我的存储过程正在尝试将记录写入另一台服务器上的数据库中。声明在这里:

IF @Builds > 0
   BEGIN
        SET @DPU = @Failures / @Builds
        INSERT INTO SQL05.ManufacturingPortal.dbo.OPC.WriteRequests (ID, RegisterID, Value, RequestedDate, IsCompleted)
        VALUES(@PLCID, 'F8:10' , CAST(@DPU AS NUMERIC(10,2)), GETDATE(), 0)    
    END

但是,当我尝试创建存储过程时,出现以下错误:

The object name 'SQL05.ManufacturingPortal.dbo.OPC.WriteRequests' contains more than 
the maximum number of prefixes. The maximum is 3.

我尝试创建Server.DB.DBO的别名以缩短前缀的数量,但是似乎正在实现此错误。

我无法在目标数据库上更改数据库架构。关于如何解决这个问题的任何建议?

谢了,兄弟们


阅读 199

收藏
2021-03-10

共1个答案

一尘不染

正确的四部分表名是server.database.schema.tablename-那里有些多余的部分。

看起来表名称是OPC.WriteRequests?如果是,则必须使用方括号:SQL05.ManufacturingPortal.dbo.[OPC.WriteRequests]

但是也许您的名字中有一部分不正确?

2021-03-10