Tag: sqlgeometry

带有WellKnownText空间数据列的SqlBulkCopy DataTable

我正在尝试批量复制具有以下列的DataTable : “ID” – System.Int32 “Geom” – System.String 使用以下列进入SQL数据库: “Id” – int “形状” – geometry 谁能建议最好的方法来做到这一点? 一些测试代码,如果有帮助…… DataTable dataTable = new DataTable(); dataTable.Columns.Add(“ID”, typeof(Int32)); dataTable.Columns.Add(“Geom”, typeof(String)); dataTable.Rows.Add(1, “POINT(‘20,20’)”); dataTable.Rows.Add(1, “POINT(‘40,25’)”); dataTable.Rows.Add(1, “POINT(‘60,30’)”); SqlBulkCopy sqlBulkCopy = new SqlBulkCopy(connection); sqlBulkCopy.DestinationTableName = “MySpatialDataTable”; sqlBulkCopy.WriteToServer(dataTable); 我的原始post未能解释执行上述操作会导致抛出以下exception。 InvalidOperationException:数据源中String类型的给定值无法转换为指定目标列的类型udt。 我假设SqlBulkCopy不知道geometry列类型,因此不知道如何从string转换为它。 谁能证实这一点?