Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Incompatibilité de type SqlGeography

Vous pouvez avoir une incompatibilité de version sur l'assembly Types. C'était un problème connu entre les versions 10 et 11. Malheureusement, le message d'erreur n'inclut pas les informations de version, c'est pourquoi cela semble absurde !

Pour contourner ce problème, vous pouvez désérialiser la représentation binaire du type, c'est-à-dire quelque chose comme ceci (si votre colonne géographique est la première du jeu de résultats) :

var geo = SqlGeography.Deserialize(reader.GetSqlBytes(0));

Il existe d'autres solutions de contournement, notamment effectuer une redirection de liaison pour l'assembly.

Plus d'informations ici :https://connect.microsoft.com/SQLServer/feedback/details/685654/invalidcastexception-retrieving-sqlgeography-column-in-ado-net-data-reader