我在具有其他空間類型的表中有一個文本字段。作爲SSIS包的一部分,我使用此文本字段在同一張表上運行更新(作爲SQL任務)並更新幾何和地理列。我能夠成功運行下面的查詢昨天SQL不能從文本列中讀取超過65536個字符
UPDATE Location
SET [Geometry] = geometry::STGeomFromText(ShapeText, 4326).MakeValid()
FROM Location
WHERE ShapeText IS NOT NULL
但是,今天它已被拋出以下異常:
消息6522,級別16,狀態1,行10一個.NET Framework錯誤發生 執行用戶定義例程或聚合「幾何」期間: System.FormatException:24141:數字預計位於輸入的位置65536 。
當我看着形狀,它絕對是一個有效的形狀。所以問題不在於形狀,而是SQL只能讀取列中的65536個字符。當shapetext少於65536個字符時,它就可以工作。
如果有人幫我解決這個問題,並讓我知道如何從文本字段讀取超過65536個字符,那將會很棒。
請參閱http://stackoverflow.com/questions/3008267/ms-sql-server-text-datatype-maxlength-65-535 – 2012-07-10 05:24:13
@RayToal:謝謝,但我仍然看到相同的異常 – Divi 2012-07-10 05:32:27
無法存儲形狀文本作爲varchar或nvarchar?它實際上是文本類型嗎? – 2012-07-10 05:36:26