Últimos artículos
Estas son las últimas entradas en el blog.
De todo un poco para solucionar los problemas diarios de un administrador de IT y DBA
Estas son las últimas entradas en el blog.
De todo un poco para solucionar los problemas diarios de un administrador de IT y DBA
Continuando mi proyecto de realizar un integrador de una base MYSQL con una base MSSQL, me encontré un nuevo problema con los campos VARBINARY.
Básicamente en ellos guardada textos planos, pero al ser VARBINARY, LINQ to ENTITIES los trataba como ARRAYS (binarios). Para convertir los valores use la siguiente función:
system.text.Encoding.ASCII.GetString(tabla.campo).
Los tipos BINARY y VARBINARY son similares a CHAR y VARCHAR, excepto que contienen cadenas de caracteres binarias en lugar de cadenas de caracteres no binarias. Esto es, contienen cadenas de bytes en lugar de cadenas de caracteres. Esto significa que no tienen conjunto de caracteres asignado, y la comparación y ordenación se basa en los valores numéricos de los valores de los bytes
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.
Trabajar con campos INT con el atributo IDENTITY es muy útil, ya que los valores se generan automáticamente de manera secuencial empezando del 1.
El problema surge cuando debemos reiniciar esa cuenta. Para ello podemos utilizar
En SQL Server 2005 o Posterior
DBCC CHECKIDENT (NOMBRE_TABLA, RESEED, 0)
En MYSQL
ALTER TABLE NOMBRE_TABLA AUTO_INCREMENT=0
IT CallCenters
Desarrollo de aplicaciones web y mobile