2010-10-22 122 views
0

我有一个sql server视图,我最近向底层表和视图本身添加了一个字段。我可以打开查看就好在服务器上,但是当我尝试在SQL Management Studio中我的电脑上运行它,我得到以下错误:打开视图时出现SQL错误

>  Msg 7352, Level 16, State 1, Line 2 
>  OLE DB provider 'SQLOLEDB' supplied inconsistent metadata. The 
> object 
> '[AVANTISERVER\NCL_MASTER].[Avanti].[dbo].[EmployeeFile]' 
> was missing expected column 'Code'. 

代码是不添加的列,其实添加的列甚至不在该表上。

这里是视图:

ALTER VIEW [dbo].[WorkOrdersDetailed] 
AS 
    SELECT m.Serial, 
      m.Description, 
      m.Make, 
      m.Model, 
      m.Notes, 
      wo.WorkOrderID, 
      wo.DueDate, 
      dbo.DateOnly(wo.DueDate) AS [Due Date], 
      ISNULL(wo.AssignedTo, '') AS AssignedTo, 
      wo.WorkTypeID, 
      wo.Completed, 
      wo.DateCompleted, 
      wo.CompletedBy, 
      wo.Manager, 
      wo.FollowUpBy, 
      wo.FollowUpDate, 
      wt.Category, 
      wt.Description AS WorkType, 
      REPLACE(wt.Notes, '\r\n', '<br />') AS WorkTypeNotes, 
      wt.Duration, 
      CASE wt.Frequency 
      WHEN '0' THEN 'None' 
      WHEN '1' THEN 'Daily' 
      WHEN '7' THEN 'Weekly' 
      WHEN '28' THEN 'Monthly' 
      WHEN '56' THEN 'Bi-Monthly' 
      WHEN '84' THEN 'Quarterly' 
      WHEN '168' THEN 'Semi-Annually' 
      WHEN '365' THEN 'Annually' 
      ELSE 'None' 
      END AS Frequency, 
      wo.CompletionNotes, 
      wo.CreatedBy, 
      wo.DateCreated, 
      wt.Status, 
      CASE Priority 
      WHEN '1' THEN '1-Highest' 
      WHEN '2' THEN '2-High' 
      WHEN '3' THEN '3-Normal' 
      WHEN '4' THEN '4-Below Normal' 
      WHEN '5' THEN '5-Lowest' 
      ELSE 'None' 
      END AS Priority, 
      CASE dbo.Departments.DepartmentName 
      WHEN 'Information Technology' THEN 'I.T.' 
      ELSE dbo.Departments.DepartmentName + ' - ' + dbo.CostCenter.CenterName 
      END AS Location, 
      wo.ToolsReconciled, 
      wo.PartsReconciled, 
      wo.CleanReconciled, 
      wo.TurnedOverTo + ' - ' + dbo.AvantiEmployeeData.LongName AS TurnedOverTo, 
      wo.TempRepair 
    FROM dbo.WorkType wt 
    JOIN dbo.WorkOrders wo ON wo.worktypeid = wo.worktypeid 
    JOIN dbo.Machines m ON m.serial = wo.machineserial 
    JOIN dbo.CostCenter cc ON cc.costcenterid = m.costcenter 
LEFT JOIN dbo.Departments d ON d.departmentid = cc.department 
LEFT JOIN dbo.AvantiEmployeeData aed ON aed.code = wo.turnedoverto 

我怎样才能解决这个如此错误不会发生?

+0

是的,这是另一种观点,但是我可以查询,没有任何问题这一观点。 – MAW74656 2010-10-22 20:04:20

回答