1
我目前正在使用一些GIS數據並使用MS SQL Server 2012中的Geography數據類型。我在嘗試顯示地理緯度和經度時遇到了一些困難使用視圖設計器,特別是如果我有一個與另一個表聯接。添加Geography.Lat/Long與設計師查看
例如,下面的視圖設計器工作正常:
SELECT dbo.table1.ID, dbo.table1.LocationTypeID, dbo.table1.Location, dbo.table1.Location.Lat as LocLatitude, dbo.table1.Location.Long as LocLongitude
FROM dbo.table1
然而,這並不:
SELECT dbo.table1.ID, dbo.table1.LocationTypeID, dbo.table2.LocationTypeName, dbo.table1.Location, dbo.table1.Location.Lat as LocLatitude, dbo.table1.Location.Long as LocLongitude
FROM dbo.table1 INNER JOIN
dbo.table2 ON dbo.table1.LocationTypeID = dbo.table2.ID
我發現,如果我中刪除的架構(DBO)和手動創建通過SQL命令查看它將創建視圖並正確運行,但是,稍後嘗試通過設計器進行編輯會顯示錯誤。
作爲參考,設計者拋出的錯誤是「多部分標識符不能被綁定」。
雖然View的手動創建可以解決這個問題,但我真的很想找到一種方法來解決這個問題,因爲它會擾亂我,但也會導致其他人在項目上工作,而不知道現在是編輯的唯一方法未來的View將創建一個「Alter View」SQL命令。
我試過尋找這個答案,但還沒有找到任何東西,通常這不會是一個問題,因爲我只是從代碼中獲取地理類型對象並獲得顯示的緯度/經度,但是我需要爲第三方創建導出/查看。
我編輯了你的標題。請參閱:「[應該在其標題中包含」標籤「](http://meta.stackexchange.com/questions/19190/)」,其中的共識是「不,他們不應該」。 –
謝謝,並感謝您的參考,對此仍然陌生:) – Nathan
可能最簡單的解決方案將是給表的別名。例如't1','t2'等,那麼設計師將使用't1.X'而不是'dbo.table1.X' –