c# – 如何从DataReader中检索SqlGeography类型时解决InvalidCas
我正在使用Visual Studio 2013和SQL Server 2012在C#中开发.我已经能够使用T-SQL在地理列中存储多边形,并且我没有尝试在代码中使用SqlGeography类来检索数据.
当我尝试: SqlGeography polyB = (SqlGeography)dr["extent"]; // stored in OGC Well Known Binary format 从数据库中检索多边形我收到的消息:
我怀疑SQL Server和Visual Studio之间的版本不兼容,如不同的版本号所示.有没有人碰到这个?也许我需要安装SQL Server 2014?任何想法都表示赞赏! 解决方法
虽然你自己的答案清楚地解决了你的问题(这很好),但通过做你所拥有的,你已经强迫自己只能在SQL 2012以后才能访问几何和地理可用的一些方法.
以下链接解释了解决此问题的一些更好的方法,请参阅Breaking Changes to Database Engine Features in SQL Server 2012 您将在页面下方找到关于三分之一的相关信息,分为“SQL CLR数据类型(几何,地理和等级ID)”.我选择的方法是在app.config中重定向程序集 – 但如果您愿意/需要,可以使用其他程序. 请注意,SQL Server 2014需要相同的解决方案,但与指定Microsoft.SqlServer.Types程序集的版本12不兼容,也不能将“Sql Server 2014”指定为连接字符串的Type System Version参数 – 使用2012. 写作时间正确. 为迟到的答案道歉,希望它有所帮助. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |