The version of SQL in use does not support datatype ‘datetime2’
Actualmente estoy trabajando en un proyecto de integrar información de un motor MYSQL 5.0 a MSSQL 2005. Para ello el integrador esta en VB NET 2010 con DotNet 4.0.
El mejor framework para el diagramado y la realización de consultas fue usar LINQ TO ENTITIES.
Luego de un par de dolores de cabeza(*) pude llevar mi primera prueba al servidor de producción.
Al ejecutarlo obtuve mi primer error «The versión of SQL in use does not support datatype ‘datetime2′» .
En este momento recordé que mi servidor de desarrollo era un MSSQL Server 2008, y el de producción un MSSQL 2005. (L)
Antes de poder ponerme a pensar que hacer decidí googlearlo y encontré una solución simple pero efectiva.
Consiste en buscar el .emdx dentro del projecto de Visual Studio. Modificarlo con un editor de XML, o similar. Y buscar el siguiente código.
ProviderManifestToken=«2008« y reemplazarlo por ProviderManifestToken=«2005«
Algo simple pero efectivo… Al final funcionó…
(*) Si al ejecutar su aplicación se cierra sin más aviso, no se olviden de instalar el MYSQL Connector con el que estuvieron trabajando en el servidor de producción.