我有一個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
我怎樣才能解決這個如此錯誤不會發生?
是的,這是另一種觀點,但是我可以查詢,沒有任何問題這一觀點。 – MAW74656 2010-10-22 20:04:20